以5行显示包含20张图片的列表的最佳方法是什么?或者,换句话说,我该如何清理这个丑陋的片段?
<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>
答案 0 :(得分:3)
您可以使用each_slice以五行图像的形式循环显示图像:
<% @images.each_slice(5) do |row| %>
<div class="row">
<% row.each do |image| %>
<%= image_tag image.url %>
<% end %>
</div>
<% end %>
答案 1 :(得分:1)
您还可以使用in_groups_of
http://api.rubyonrails.org/classes/ActiveSupport/CoreExtensions/Array/Grouping.html,其中还有其他选项。