我有两个这样的模型
class Cart < ActiveRecord::Base
has_many :books
accepts_nested_attributes_for :books, allow_destroy: true
class Book < ActiveRecord::Base
belongs_to :cart
在购物车数据库中,我有一个总价格列,对于每本书我都有价格。
当我为每本书设定价格时,如何自动更新购物车的总价?
感谢。
答案 0 :(得分:1)
如果您仅在将Book
添加到购物车时创建class Book < ActiveRecord::Base
belongs_to :cart
after_initialize :update_cart_total
private
def update_cart_total
self.cart.total_price += price
self.cart.save
end
end
的实例,则可以
update_cart_total
每当创建Book
的实例时,这将调用 var changed = false
if property1 != obj.property1 {
property1 = obj.property1
changed = true
}
if property2 != obj.property2 {
property2 = obj.property2
changed = true
}
... until property n
return changed
方法。