2010-03-22 126 views
1

什么是以5行显示20个图像列表的最佳方式?或者换句话说,我该如何清理这个丑陋的片段?循环每个x元素

<div class="row"> 
    <% @images.each_with_index do |image, index| %> 
    <% if index != 0 && index % 5 == 0 %> 
     </div><div class="row"> 
    <% end %> 
    <%= image_tag image.url %> 
    <% end %> 
</div> 

回答

3

可以在每个五个图像的行使用each_slice遍历图像:

<% @images.each_slice(5) do |row| %> 
    <div class="row"> 
    <% row.each do |image| %> 
     <%= image_tag image.url %> 
    <% end %> 
    </div> 
<% end %> 
+0

很酷,这是一个更清洁的解决方案。感谢Pär! – Cimm 2010-03-22 10:07:26