Rails_admin и Active_storage - PullRequest
       16

Rails_admin и Active_storage

0 голосов
/ 14 сентября 2018

Я пытаюсь загрузить несколько файлов через 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 поля: одно для аватара, другое - только для одного изображения.Есть идеи?

1 Ответ

0 голосов
/ 29 апреля 2019

во-первых, чтобы удалить работы, вы должны объявить это таким образом.

  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

во-вторых, это покажет только одно поле для изображений, но это файл с множественной загрузкой, поэтому вы можете отправить столько файлов, сколькоты хочешь

...