gpt4 book ai didi

ruby-on-rails - Rails 6 Active Storage : Could not find or build blob: expected attachable. ..((重新)设置附件时出现问题)

转载 作者:行者123 更新时间:2023-12-04 12:40:12 28 4
gpt4 key购买 nike

在我的应用程序中,管理员用户可以建议并编辑其他用户的个人资料。我希望管理员用户能够为非管理员用户推荐一个(新的)头像。目前我的用户(我的应用程序中的用户 = spkr)模型有:

has_one_attached :image
has_one_attached :edited_image

其中image为用户选择的头像,edited_image为admin用户推荐的头像。

当使用管理员“更新”表单时,edited_image 被设置

if spkr_params[:edited_image].present?
@spkr.edited_image = spkr_params[:edited_image]
end

这成功地将附件设置为 edited_image

当管理员用户提交编辑时,非管理员用户会收到一封确认电子邮件。单击时,我希望非管理员用户的 image 更新。

...
if @spkr.edited_image.present?
@spkr.image.purge
@spkr.image = @spkr.edited_image
end
@spkr.save!

然而,我在 @spkr.save! 上收到以下错误:

Could not find or build blob: expected attachable, got #<ActiveStorage::Attached::One:0x00007fdcc44fa440 @name="edited_image", @record=#<Spkr id: 154... >>

@spkr 中的 edited_image 是什么:

@spkr.edited_image
=> #<ActiveStorage::Attached::One:0x00007fdcc44fa440 @name="edited_image", @record=#<Spkr id: 154...>>

我的感觉是@spkr.edited_image 不是@spkr.edited_image 的“可附加部分”,但我不确定如何解决这个问题。

感谢您的帮助。

最佳答案

我通过替换行解决了这个问题

@spkr.image = @spkr.edited_image

@spkr.image = @spkr.edited_image.blob

这也有效:

@spkr.image.attach(@spkr.edited_image.blob)

关于ruby-on-rails - Rails 6 Active Storage : Could not find or build blob: expected attachable. ..((重新)设置附件时出现问题),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59984748/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com