假设我正在遍历一系列产品,我将如何在该循环中分配一个容器 div。例如我想要这样的输出:
<div class="page">
<p>product1</p>
<p>product2</p>
<p>product3</p>
<p>product4</p>
</div>
<div class="page">
<p>product5</p>
<p>product6</p>
<p>product7</p>
<p>product8</p>
</div>
我试过这样的事情:
<% @products.each_with_index do |product, index| %>
<% if index%4 == 0 %>
<div class="page">
<%end%>
<p><%= product.data %>
<% if index%4 == 0 %>
</div>>
<%end%>
<% end %>
但正如预期的那样,它只会用容器围绕每 4 个产品。我在想我需要两个循环才能使它工作,但是我怎样才能在不复制数据的情况下做到这一点?
编辑
当使用 each_with_index 的替代品时,有没有办法使用这种方法来跟踪索引?还有一些基于索引值设置的条件属性。
例如:
style=<%= index == 0 ? "top:5px;" : ""%>