原谅我作为新手。我有一个围绕以下的多级联接表...
Category
has_many :products
Products
has_many :sales
Sales
belongs_to :product
在该类别中,我希望显示每种畅销产品的清单(由销售数量确定,单独记录)。
我可以在产品页上打印销售总价值OK(这是列sales.sum - 我的列名为sum),但无法打印所有符合类别的产品的完整列表,同时执行总和在每个产品的sales.sum列上运行。
我目前在类别控制器中有这个代码;
def show
@all = Category.joins(products: :sales)
end
我认为这是对的,但我无法得到正确的观点。欣赏这可能不是在SO上提出问题的最佳方式,但尝试了许多不同的方法在我的视图文件中打印它,但确实卡住了。
有人能指出我正确的方向吗?
提前谢谢! : - )
编辑 - 让我更清楚我想要实现的目标......
类别 - >产品 - >销售
想要显示属于Category
(按category_id
)的每个产品的列表,但要将其列入总Sales
列表中({{1}属于产品在product_id
表中,列被称为'sum'
,并显示诸如$ 100 Product 1,$ 50 Product 2,$ 40 Product 1等等的值。
所以,多级联接。
答案 0 :(得分:0)
对于那些感兴趣的人,终于找到了答案;
<ol>
<%= @category.products.each do |su| %>
<li><%= su.name %> <%= su.sales.sum(:sum) %></li>
<% end %>
</ol>
希望这有助于其他人!