2016-01-10 2 views
0

У меня есть объект с именем sector.Rails: для каждого элемента x положите новый html-тег

<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

Вы можете использовать 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 %> 
+0

Именно то, что я искал, большое спасибо! – Matt

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