我正在尝试使用Rails_Admin
通过Active_Storage
上传多个文件。
这是我的代码:
belongs_to :driver
has_one_attached :avatar
has_many_attached :pictures
attr_accessor :remove_avatar
after_save { asset.purge if remove_avatar == '1' }
attr_accessor :remove_pictures
after_save do
Array(remove_pictures).each { |id| pictures.find_by_id(id).try(:purge) }
end
rails_admin do
field :driver_id
field :avatar, :active_storage
field :pictures, :multiple_active_storage
end
我的图片只有一个字段。我已经尝试过像这样多次复制该字段
rails_admin do
field :driver_id
field :avatar, :active_storage
field :pictures, :multiple_active_storage
field :pictures, :multiple_active_storage
field :pictures, :multiple_active_storage
end
我仍然只有2个字段,一个用于头像,另一个仅用于一张图片。有想法吗?
答案 0 :(得分:0)
首先,要删除作品,您需要以这种方式声明它。
belongs_to :driver
has_one_attached :avatar
has_many_attached :pictures
attr_accessor :remove_avatar
attr_accessor :remove_pictures
after_save do
avatar.purge if remove_avatar == '1'
Array(remove_pictures).each { |id| pictures.find_by_id(id).try(:purge) }
end
rails_admin do
field :driver_id
field :avatar, :active_storage do
delete_method :delete_avatar
end
field :pictures, :multiple_active_storage do
delete_method :delete_pictures
end
end
秒,它将仅显示图片的一个字段,但是它是一个多上传文件,因此您可以发送任意数量的文件