1
在我的Rails应用程序我有这些模型如何让同一数据库行的多个ActiveRecord实例保持同步?
Order has_many OrderItem
OrderItem belongs_to Order
我的控制器有这个(伪)代码:
#before_filter
@cart = Order.find(session[:cart_id])
#Action: update_item
item = OrderItem.find(params[:item_id]
#The order, item belongs to, is in fact @cart, i.e. @cart.id == item.order.id
item.price = 999.99
item.order.total += item.price
最后一行之后,@cart
对象仍然有旧total
值。
在Rails中解决这种情况的最佳方法是什么?我想最简单的方法是重新加载@cart
,但也许还有更像Rails的方式。