我有2个模型。公司和订单。公司有很多订单。订单表具有数量列。 我需要获取订单并汇总每个公司的所有数量。
下面的代码不起作用。
class Company < ApplicationRecord
has_many :orders
belongs_to :payment_method
end
class Order < ApplicationRecord
validates :company_id, presence: true
validates :quantity, presence: true
belongs_to :company
end
<% @companies.each do |p| %>
<p><%= p.orders.quantity.sum %></p>
<% end %>
答案 0 :(得分:1)
p.orders
访问关联的表。该代码无法正常工作的原因:获取相关记录后,您必须遍历每个记录以累加它们的数量。
这是做到这一点的一种方法。
p.orders.sum(&:quantity)