0

我正在开发一个网络应用程序,人们可以在其中发布新问题。每个问题包含许多子问题,每个子问题可以有许多图像。要发布新问题,我使用名为“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:fieldAdded事件,生成的元素可以通过 via 找到event.field

于 2013-07-09T13:51:39.443 回答