如何使用rails对列进行分组

Gae*_*lle 13 group-by ruby-on-rails-3

我的名为stocks的表包含product_id, color_id, storage_id and in_stock列.

对于给定的产品,我想按存储对所有库存进行分组,然后对于每个存储,我想要显示产品(颜色):in_stock

我该如何编写方法以及如何渲染?

Uni*_*key 27

<% Stock.all.group_by(&:storage).each do |storage, products| %>
  Storage: <%= storage %>
  <% products.each do |product| %>
    (<%= product.color_id %>): <%= product.in_stock %>
  <% end %>
<% end %>
Run Code Online (Sandbox Code Playgroud)

编辑:更新为使用ERB,in_stock为数字而不是布尔值是/否列,并使用color_id代替color.name,因为这假设您与颜色有关系.