Ruby/Rails - 为可变数量的单元格动态创建表格

Chr*_*len 6 ruby ruby-on-rails ruby-on-rails-3

我试图以表格的形式在我的模型中显示对象,但是我很难动态地创建行和列.

我有一个名为Pictures的模型,目前我在looooong列表中显示所有这些模型.

<% for picture in @pictures %>
   <p><%= image_tag(picture.url) %></p>
<% end %>
Run Code Online (Sandbox Code Playgroud)

如何将其转换为带有轨道的视图中的表格?

<table>
<tr>
<% for picture in @pictures %>   
     <td> 
        <%= image_tag(picture.url) %>
     </td>
** Here's where I'm confused..How can I write after 6 cells create a new row?? *****
<% end %>
</table>
Run Code Online (Sandbox Code Playgroud)

所以问题实际上与如何在视图中分解这种类型的数据有关.

Pav*_*ing 11

看一下可枚举的方法".each_slice".

http://www.ruby-doc.org/core/classes/Enumerable.html#M001514

有了它,你可以做一些事情:

<table>
  <% @pictures.each_slice(6) do |slice| %>   
    <tr>
      <% slice.each do |picture| %>
        <td> 
          <%= image_tag(picture.url) %>
        </td>
      <% end %>
    </tr>
  <% end %>
</table>
Run Code Online (Sandbox Code Playgroud)

你可能不得不做一些摆弄以很好地填充最后一行,但这应该让你在路上.