每个块中的Ruby on Rails div_for不会生成正确的id和class

时间:2010-09-23 21:19:02

标签: ruby-on-rails

我正在尝试使用每个块内部的div_for生成一些div。结果是每个div都具有相同的id和class。文档说每个div应该有一个唯一的id(这就是我想要的)。

这是我正在使用的代码:

<% @pallet.boxes.each do |box| %>
 <%= div_for(box) do %>
  <h2><%= box.name %></h2>
  <p>some stuff in here</p>
 <% end %>
<% end %>

以下是页面来源的摘录:

<div class="box" id="new_box"> 
    <h2>box1</h2>
    <p>some stuff in here</p>           
</div>      

<div class="box" id="new_box"> 
    <h2>box2</h2>
    <p>some stuff in here</p>           
</div>

<div class="box" id="new_box"> 
    <h2>box3</h2>
    <p>some stuff in here</p>           
</div>

1 个答案:

答案 0 :(得分:0)

尝试执行以下操作:

将以下代码放在parital(_box.html.erb)中:

<%= div_for(box) do %>   
  <h2><%= box.name %></h2>   
  <p>some stuff in here</p>  
<% end %>

并从原始文件<%= render @pallet.boxes %>

拨打电话

我认为您的问题是由于您在同一个box元素上迭代2次而引起的。 我上面发布的模式总是适合我。