我正在使用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>
有没有人不得不在此之前处理这样的问题?
答案 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