Цикл каждого х элементов - PullRequest
1 голос
/ 22 марта 2010

Как лучше всего показать список из 20 изображений в строках по 5?Или, другими словами, как мне убрать этот уродливый фрагмент?

<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>

Ответы [ 2 ]

3 голосов
/ 22 марта 2010

Вы можете использовать each_slice для циклического перебора изображений в строках по пять изображений в каждом:

<% @images.each_slice(5) do |row| %>
  <div class="row">
    <% row.each do |image| %>
      <%= image_tag image.url %>
    <% end %>
  </div>
<% end %>
1 голос
/ 30 марта 2010

Вы также можете использовать in_groups_of http://api.rubyonrails.org/classes/ActiveSupport/CoreExtensions/Array/Grouping.html, который также имеет другие варианты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...