一連の製品をループしているとすると、そのループ内でコンテナー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つおきの製品をコンテナで囲むだけです。これを機能させるには2つのループが必要になると思いますが、データを複製せずにこれを行うにはどうすればよいですか?
編集
each_with_indexの代替を使用する場合、このメソッドを使用してインデックスを追跡する方法はありますか?インデックス値に基づいて設定される条件付き属性もいくつかあります。
例えば:
style=<%= index == 0 ? "top:5px;" : ""%>