我正在尝试使用每个块内部的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>
答案 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次而引起的。 我上面发布的模式总是适合我。