如何在ActiveAdmin中使用ActiveStorage`has_many_attached`编辑多个附加图像

问题描述 投票:0回答:1

我有一个简单的模型,可以通过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
ruby-on-rails activeadmin rails-activestorage formtastic
1个回答
0
投票

假设您使用的是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 
© www.soinside.com 2019 - 2024. All rights reserved.