回形针在编辑页面上显示多个'missing image'标签



所以我有一个对象,它有多张照片(通过使用一个称为asset的模型)。我用回形针上传照片,效果很好。在我的节目页面上,我打电话给

<li class="grid_3">Photos:<br /></li>
<% @address.assets.each do |asset| %>
  <li class='grid_3'><%= image_tag(asset.photo.url, size: '100x100') %></li>
<% end %>

并且照片完美地显示。当我点击编辑页面时:

<%= f.simple_fields_for :assets do |asset| %>
  <%= render :partial => 'asset_fields', :locals => { :f => asset } %>
<% end %>

呈现部分:

<div class='nested-fields'>
  <%= f.file_field :photo %>  
  <% unless f.object.new_record? %>
    <%= f.file_field :photo %>
    <% @address.assets.each do |asset| %>
      <li class='grid_3'><%= image_tag(asset.photo.url, size: '100x100')  %></li>
    <% end %>
  <% end %>
</div>

此时,每张照片都会显示3次,同时还有一个带有"丢失"照片占位符的额外图像标签。我想说我尝试过不同的东西,但我不知道代码出了什么问题。有什么想法吗?

假设simple_fields_for的行为与fields_for相同。。。对CCD_ 3的调用已经是一个循环。它在f.object.assets上循环,并为使用asset表单生成器找到的每个项目呈现块的内容一次(顺便说一句,调用该块变量asset_form可能不那么令人困惑)。因此,由于您正在渲染一个部分,该部分还渲染@address的所有资产,这就是为什么您会获得每个图像3次。

最新更新