CarrierWave(0.6.1)とNested Form gemがインストールされています。 FileUploaderを持つ多くの添付ファイルを持つリソースモデルがあります。CarrierWaveとNested Form Gemの再表示
ユーザーは1つのリソースで複数のファイルをアップロードできる入れ子になっています。私はgithub(https://github.com/jnicklas/carrierwave)のセクションに従っています。これは、再表示を超えてアップロードを動作させる方法は、残念ながら1:1の比率だからです。ここで
は、私が持っているコードです:
<%= nested_form_for @resource, :html=>{:multipart => true } do |f| %>
<p>
<%= f.label :title %>
<%= f.text_field :title %>
</p>
<%= f.fields_for :attachments, @attachment do |attachment_form| %>
<p>
<%= attachment_form.label :file %>
<%= attachment_form.file_field :file %>
<%= attachment_form.hidden_field :file_cache %>
<%= image_tag(attachment_form.file_url) if attachment_form.file? # DOESN'T WORK!!! %>
</p>
<%= attachment_form.link_to_remove "Remove this attachment" %>
<% end %>
<%= f.link_to_add "Add attachment", :attachments %>
<p><%= f.submit %></p>
<% end %>
すべてが動作し、それはしかし、私は何とかユーザーにの画像を表示するためにそこに次の行を追加する必要がattachment_formためうまくfile_cache変数を移入します文書:
<%= image_tag(attachment_form.file_url) if attachment_form.file? %>
しかし、これには多くの問題があります。まず、attachment_formはform_builderを参照していますが、実際の添付が必要です。第二に、添付ファイルは何も知らない。
おそらく別のタイプのループ機構を使用する必要がありますが、私はRubyを初めて使用しているので、助けてください。
ありがとうございます!
awesome!正確には私が必要なものではありませんが、私はフォームの 'オブジェクト'属性について知らなかった...私は正しい方向に向かっていると思う。ありがとう! – schmudu
しかし、オブジェクトはどこから来ますか。私はあなたの答えで失われたlitteです。トンボの宝石でこれをしようとしています。 – Benjamin