Rails_admin和Active_storage

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

我试图通过Rails_AdminActive_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

我仍然只有一个用于头像的两个字段,另一个仅用于一个图片。任何的想法?

rails-admin rails-activestorage
1个回答
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

第二,它只会显示一个字段到图片,但是是一个多上传文件,因此您可以根据需要发送任意数量的文件

© www.soinside.com 2019 - 2024. All rights reserved.