多くのファイルを含む可能性のあるオブジェクトのネストされたフォームがあります。オブジェクトの作成に問題はありませんが、編集する必要があるときに問題が見つかりました。フォームにはファイルURLへのリンクが必要ですが、ファイル自体を参照する方法がわかりません。私はペーパークリップを使用しています。この場合、ファイルが1つだけで、それがオブジェクトモデルにある場合は、@ object.file.urlのようにしますが、ファイルが多いため、この場合の処理方法がわかりません...
edit.html.haml
= form_for @object, :url => { :action => "update", :controller => "object", :id => @object.id, :method => "post" }, :html => { :multipart => true } do |f|
- render "object/object_form", object: f.object, f: f
object_form.html.haml
.field
= f.label :name
= f.text_field :name
= f.fields_for :files do |builder|
= render 'object/file_fields', :f => builder
%p= link_to_add_fields "Add new file", f, :file
.field
= f.submit "Save"
file_fields.html.haml
%fieldset
.field
= f.label :file
= f.file_field :file
.field
= f.hidden_field :_destroy
= link_to "Remove File", '#', class: "remove_fields"
私がやろうとしていることは、明らかにfile_fields.html.hamlでは機能しません。
%fieldset
.field
= f.label :file
= f.file_field :file
= link_to f.file.url
.field
= f.hidden_field :_destroy
= link_to "Remove File", '#', class: "remove_fields"