我有一个简单的模型,可以通过ActiveStorage
处理文件存储附加多个图像。
我正在使用ActiveAdmin
编辑模型并上传/附加图像-到目前为止没有问题。
问题是,当我要编辑模型并添加新图像时,先前的图像将被删除,而仅添加新图像。
我可以预览已附加的图像,也可以分别删除它们,但是如何实现,通过上传新图像,不删除旧图像?
我的模特:
class Post < ActiveRecord::Base
has_many_attached :images
end
我的ActiveAdmin页面:
ActiveAdmin.register AdminPost do
permit_params images:[]
form do |f|
f.input :images, as: :file, input_html: { multiple: true }
if @resource.images.exists?
@resource.images.map do |m|
para image_tag m
end
end
end
end
假设您使用的是Rails 6.0+;您可以通过在环境中添加以下代码来解决此问题(即-development.rb)https://github.com/rails/rails/issues/35817#issuecomment-628654948
config.active_storage.replace_on_assign_to_many = false
以您的形式,
form do |f|
f.input :images, as: :file, input_html: { multiple: true }
f.object.images.each do |image|
span image_tag(image)
end
end