如何在铁轨上购物车更好?

时间:2012-05-03 20:43:19

标签: ruby-on-rails rails-activerecord

如何更好地计算每个订单项的总成本,然后计算所有计数总摘要?我有这样的数据库:文章有表存在我有价格,但如何显示价格*数量?在控制器中做得更好?或者在模型中,但在模型中,如何执行此操作,请注意,在db中我只有价格,而数量在行项目中给出: 我想要这样的东西:

class LineItem < ActiveRecord::Base
    belongs_to :article
    belongs_to :cart
    def total_price
      existence.PRICEM * quantity
    end
end

1 个答案:

答案 0 :(得分:1)

此核心业务功能应位于您的模型中。

您的购物车可能有:

class Cart
  def total_price
    line_items.inject(0.0){|sum,line_item| sum + line_item.total_price }
  end
end

class LineItem
  def total_price
    quantity * price
  end
end

通过这种方式,您仍然可以遍历您的订单项以显示其价格,然后您的购物车也可以。当这转移到订单时,您需要存储这些值而不是计算它们。