Ruby On Rails的每个方法

时间:2014-08-29 07:50:49

标签: ruby-on-rails ruby

说我想在@users和我的erb上打电话.each我有:

<% @user.each do |user| %>
<p><%= user.name %></p>
<% end %>

足够简单。但在每第5个用户之后,我需要添加一个明确的修复:

<div class="clearfix visible-xs"></div>

最好的方法是什么?

2 个答案:

答案 0 :(得分:6)

Enumerable#each_with_index应该没问题:

<% @users.each_with_index do |user, index| %>
  <p><%= user.name %></p>
  <% if (index + 1) % 5 == 0 %>
    <div class="clearfix visible-xs"></div>
  <% end %>
<% end %>

答案 1 :(得分:5)

也许.each_slice将是提供此功能的另一种方式:

<% @users.each_slice(5) do |users| %>
   <% users.each do |user| %>
      <p><%= user.name %></p>
   <% end %>
   <div class="clearfix visible-xs"></div>
<% end %>