Rails:对于每个x项,添加一个新的html标记

时间:2016-01-10 15:50:44

标签: css ruby-on-rails

我有一个名为sector的对象。

  <div class="col-md-6 md-margin-bottom-40">
    <ul class="list-unstyled categories">
      <% @sectors_name.each do |sector| %>
        <li><%= link_to sector.name, sector_path(sector) %></li>
      <% end %>
    </ul>
  </div>

我希望每6 <li></li>

有一个新列

使用我的代码我只有一个带有无限滚动的列表。最好的将是这样的

  <div class="col-md-6 md-margin-bottom-40">
      <% @sectors_name.each do |sector| %>
       <ul class="list-unstyled categories">
        <li><%= link_to sector.name, sector_path(sector) %></li>
      </ul>
     <% end %>
  </div>

当显示6个项目时,循环再次开始并生成新的<ul>

你知道我该做什么吗?

2 个答案:

答案 0 :(得分:2)

您可以使用in_groups_of(n)

<% @sectors_name.in_groups_of(6) do |sectors| %>
  <% sectors.each do |sector| %>
     <ul class="list-unstyled categories">
      <li><%= link_to sector.name, sector_path(sector) %></li>
    </ul>
  <% end %>
 <% end %>

答案 1 :(得分:1)

您可以使用in_group_of方法。您的代码如下所示:

<% @sectors_name.in_groups_of(6) do |sectors| %>
  <ul class="list-unstyled categories">
    <% sectors.each do |sector| %>
      <li><%= link_to sector.name, sector_path(sector) %></li>
    <% end %>
  </ul>
 <% end %>