每隔三个数组项创建一个新的Bootstrap行

时间:2015-06-06 13:31:56

标签: ruby-on-rails ruby ruby-on-rails-4

我有一系列@schools(School.all),我在Bootstrap行中显示这些@schools(每行3个)。我想知道如何才能做到这一点,以便@schools中的每三个项目,Ruby / Rails都会创建一个新行,然后重复该过程。感谢。

<% for 3 in @schools %>
  <div class="row">
    <% @schools.each do |s| %>
      <div class="col-md-4">
      </div>
    <% end %>
  </div>
<% end %>

2 个答案:

答案 0 :(得分:8)

each_slice是你的朋友。

<% @schools.each_slice(3) do |schools| %>
  <div class="row">
    <% schools.each do |s| %>
      <div class="col-md-4">
      </div>
    <% end %>
  </div>
<% end %>

答案 1 :(得分:3)

<% @schools.in_groups_of(3) do |schools| %>
  <div class="row">
    <% schools.each do |s| %>
      <div class="col-md-4">
      </div>
    <% end %>
  </div>
<% end %>

文档:http://apidock.com/rails/Array/in_groups_of