我试图以表格的形式在我的模型中显示对象,但是我很难动态地创建行和列.
我有一个名为Pictures的模型,目前我在looooong列表中显示所有这些模型.
<% for picture in @pictures %> <p><%= image_tag(picture.url) %></p> <% end %>
如何将其转换为带有轨道的视图中的表格?
<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>
所以问题实际上与如何在视图中分解这种类型的数据有关.
解决方法
看一下可枚举的方法“.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>
你可能不得不做一些摆弄以很好地填充最后一行,但这应该让你在路上.