У меня есть модель 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"}