Ruby / Rails / HTML - 从循环中获取X单元格后创建新表行

时间:2011-03-14 20:54:23

标签: html ruby-on-rails ruby for-loop

我正在使用Rails来显示一组数据。问题是数据太大了我通常不会为每个循环做这些事情,因为我创建了这个非常长的列表。

我的解决方案是创建某种形式的表,其中10个记录创建一个新单元格后,5个单元格后创建一个新行。我不太习惯使用rails中的for循环,所以我想把问题抛出来。

现在我有......

<strong> Person Data Set: </strong><br />
<% for person in @persons %>
   <%= interest.name %> <br />
<% end %>

所以我可以创建一个类似于此的循环吗?

  <strong> Person Data Set: </strong><br />
  <table>
  <tr>
  *****for each 5 cells???? *****
  <td>
  *****For each 10 records?? ***
  </td>
  </tr>
  </table>

有没有人不得不在此之前处理这样的问题?

1 个答案:

答案 0 :(得分:3)

有一种each_slice方法。使用HAML(我真的不喜欢ERB,但想法是一样的):

%strong
  Person Data Set:
%br
%table
  - @persons.each_slice(10) do |ten_people| 
    %tr
      - ten_people.each_slice(5) do |five_people|
        %td
          - five_people.each do |person|
            %p= person.name