Удаление загрузок при использовании has_many_attached в Rails - PullRequest
0 голосов
/ 22 апреля 2020

У меня есть модель Folder Rails 6 с has_many_attached :docs. Я могу загрузить файлы, но не могу правильно удалить их.

Форма ниже имеет то же имя для полей _destroy, означающее, что Rails не знает , какой вложенный файл для удаления , Любые идеи, как мне нужно структурировать форму в представлении?

# model
def Folder < ApplicationRecord
  has_many_attached :docs
end

# controller
class FoldersController < ApplicationController
  def folder_params
    params.require(:folder)
          .permit(docs: [], docs_attachments_attributes: [:_destroy,:id])
  end
end

# view
= form_for @folder do |f|
  - if f.object.docs.attached?
    - f.object.docs.each do |doc|
      = link_to doc.filename, doc
      = f.fields_for :docs_attachments_attributes do |ff|
        = ff.hidden_field :id, value: doc.id
        = ff.label :_destroy do
          = ff.check_box :_destroy
          Delete
  - else
    = f.file_field :docs, multiple: true

Мой folder_params при отправке формы:

"docs_attachments_attributes"=>{"_destroy"=>"0", "id"=>"3"}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...