在rails 3教程之后,我定义了一个范围来限制订单列和一个辅助方法来总结结果范围
class LineItem < ActiveRecord::Base
attr_accessible :cart_id, :product_id, :cart, :product, :quantity
belongs_to :order
belongs_to :product
belongs_to :cart
scope :order, -> {where("order != nil")}
end
帮手
module StoreHelper
def total_product_sold (product)
product.line_items.total_product.sum("quantity")
end
问题是当我从我的视图中调用 total_product_sold 时,它会汇总订单列中的所有数据,而不是仅订单号为 !=nil 的数据。
我还尝试定义一个类方法而不是范围
def self.total_product
where(order !=nil)
end
但这给了我相同的确切结果。我究竟做错了什么?我如何让它只添加订单列不为零的项目?