0

人々が新しい質問を投稿できる Web アプリを開発しています。各質問には多くのサブ質問が含まれており、各サブ質問には多くの画像を含めることができます。新しい質問を投稿するには、'nested-form' という Rails プラグインを使用し、写真を追加するには Paperclip を使用します。これが私の質問です。新しい質問を追加すると、すべてうまくいきます。しかし、質問を編集すると、写真のフィールドはまだ残っていますが、フィールド内の写真のディレクトリは消えています。空白のフィールドでフォームを送信すると、すべての写真が消えてしまいます。そのため、質問を編集するときは、写真に変更を加えたくない場合でも、すべての写真を再度アップロードする必要があります。これが私のコードです:

new_question.html.erb:

<%= nested_form_for @question, :url => {:action => 'create_question'} do |f| %>
      <%= f.label :name # some fields for @question %>
      <%= f.text_area :name %>

       <%= f.fields_for :subquestions do |builder| %>
       <%= render 'subquestion_fields', :f => builder %>
       <%= builder.link_to_remove 'Remove Sub-question' %>

_subquestion_fields.html.erb:

<%= f.hidden_field :_destroy %><br>
<%= f.link_to_add 'Add an image', :qimages %><br>


<%= f.fields_for :qimages,   :html => { :multipart => true } do |builder| %>
<%= render 'qimage_fields', :f => builder %>
<%= builder.link_to_remove 'Remove this image' %><br>


<% end %>

_qimage_fields.html.erb:

<%= f.file_field :image %>

edit_question.html.erb は上記と同じパーシャルを使用しますが、質問に既に追加されている画像は表示されません (「qimage」フィールドは空白のままです)。質問を編集するときにすべての画像を表示する方法はありますか? ありがとうございました!

4

1 に答える 1

0

ごめん。Ryanb の Nested Form ページに解決策があることがわかりました。イベントをリッスンすることで新しいフィールドを生成するイベントを追跡することができnested:fieldAdded、生成された要素は via で見つけることができますevent.field

于 2013-07-09T13:51:39.443 に答える