我正在尝试收集Product
按updated_at 分组的所有记录,然后为每个日期呈现带有表格的部分视图。
问题是当我处于部分状态时,我得到的是一个哈希数组而不是一个对象列表。
我的控制器:
@products = Product.all.group_by { |product| product.updated_at.to_date}
我的看法index.html.erb
:
<% @products.each do|products_for_one_day| %>
<%= render :partial => 'product_table', :locals => { :products => products_for_one_day } %>
<% end %>
我的部分_product_table.html.erb
:
<table>
<tr>
<th>example</th>
</tr>
<% products.each do |product| %>
<tr>
<td><%= product.example %></td>
. . .
</tr>
<% end %>
</table>
当我进入这个视图时,我的products
变量包含一个数组,其中第一个对象是日期,然后第二个对象是我的产品列表:
[Sun, 16 Dec 2012, [#<Product id: 184, example: "FirstItem"> #<Product id: 191, name: "SecondItem">]]
. . . 所以我的第一个product
只是日期,我无法根据日期呈现表格,然后第二个产品是包含我的(在本例中为 2 个)产品的哈希,无论如何我都无法以我想要的方式迭代,因为它们不是 Product 对象(我可以称之为 product.example )。
我该如何纠正这个问题,以便此时我可以使用 Product 对象构建一个表,而不必处理这个奇怪的数组哈希对象?