我的名为stock的表包含product_id,color_id,storage_id和in_stock作为列.
对于给定的产品,我想通过存储分组所有库存,然后对于每个存储,我想显示产品(颜色):in_stock
我应该如何编写一个方法和如何呈现?
解决方法
<% Stock.all.group_by(&:storage).each do |storage,products| %> Storage: <%= storage %> <% products.each do |product| %> (<%= product.color_id %>): <%= product.in_stock %> <% end %> <% end %>
编辑:更新为使用ERB,而in_stock作为数字而不是布尔值为/否列,并使用color_id代替color.name,因为它假定您具有与颜色的关系.