2015-06-06 5 views
3

У меня есть массив @schools (School.all), и я показываю эти @schools в строке Bootstrap (3 в строке). Мне было интересно, как я могу сделать это так, что для каждого третьего элемента в @schools Ruby/Rails создаст новую строку, а затем повторит этот процесс. Благодарю.Создайте новую строку Bootstrap каждый третий элемент массива

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

ответ

7

each_slice - твой друг.

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

Большое спасибо - это решить проблему! – maclover7

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

+0

хорошо один, я забыл, –

Смежные вопросы