【发布时间】:2020-01-18 19:13:42
【问题描述】:
我有一个 Rails 6 应用程序,它使用 Active Storage 将多个图像存储到具有 has_many_attached 的模型(活动)中。
我不明白如何附加额外的图像而不是替换现有的图像。当我第一次上传图像时,它们会正确保存。但是,当我更新记录并添加新图像时,以前的图像会被新图像替换。在 Rails 5 中,新图像将被附加而不替换以前保存的图像。
如何添加新图像而不是替换以前的图像?
我有一个具有以下内容的 Activity 模型:
has_many_attached :images
按照我的形式:
<%= f.file_field :images, multiple: true %>
在控制器中我有以下内容:
def update
@activity = Activity.find(params[:id])
if @activity.update(activity_params)
flash[:success] = "Saved"
redirect_to activity_path(@activity)
else
flash[:error] = "Not saved"
redirect_to edit_activity_path(@activity)
end
end
private
def activity_params
params.require(:activity).permit(:name, images:[])
end
【问题讨论】:
-
这里有一个类似的问题stackoverflow.com/questions/58282845/…
-
我最终使用了上述评论中的答案。
标签: ruby-on-rails rails-activestorage ruby-on-rails-6