0

CarrierWave (0.6.1) と Nested Form gem がインストールされています。FileUploader を持つ多くの添付ファイルを持つリソース モデルがあります。

ユーザーが 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 %>

すべてが機能し、file_cache 変数が attachment_form に適切に設定されますが、ユーザーにドキュメントの画像を表示するには、そこに次の行を追加する必要があります。

<%= image_tag(attachment_form.file_url) if attachment_form.file? %>

しかし、これには多くの問題があります。まず、実際の添付ファイルが必要なのに対し、attachment_form は form_builder を参照しています。第二に、添付ファイルはファイルについて何も知りません。

おそらく別のタイプのループメカニズムを使用する必要がありますが、私はRubyが初めてなので、助けていただければ幸いです。

皆さんありがとう!

4

1 に答える 1