1

新手,非常感谢以 3 组为单位渲染对象的一些帮助。

我目前显示带有渲染的对象列表:

<%= render @gifts %>

每个对象都有一些从部分 _gift.html.erb 呈现的特征

这一切都很好。但是,如何遍历所有 @gifts 对象,每 3 个对象用一个 div 包装?期望的结果是这样的:

<div class="row-fluid>
# The first 3 objects from @gifts
</div>

<div class="row-fluid>
# The next 3 objects from @gifts
</div>
4

3 回答 3

3
<% @gifts.each_slice(3) do |slice| %>
  <div class="row-fluid>
    # slice now is a 3 element array, iterate over it and render as you see fit
  </div>
<% end %>

我更像是一个 HAML 人,但这应该可行。

于 2012-08-01T19:37:41.673 回答
0

each_slice就是你要找的。这里有更详细的介绍:

https://stackoverflow.com/a/2852103/9465

于 2012-08-01T19:38:42.663 回答
0

还可以考虑 in_groups_of(一个 Rails 猴子补丁到数组):

http://apidock.com/rails/Array/in_groups_of

于 2012-08-01T19:45:25.063 回答