保存Rails的模式
问题描述:
的所有属性我有了很多车保存Rails的模式
class User < ActiveRecord::Base
has_many :carts
如果我更新车用户模型:
User.last.carts.last.time_purchased = Time.now
有没有一种方法可以让我节省了整个用户模式?现在,如果我打电话
User.last.save
我修改的购物车没有保存。
User.last.carts.last.save
是否保存购物车。
有没有办法保存模型的所有更新属性?
感谢
答
保存模型将保存任何的关联,但这不是为你工作的原因是因为您正在重新获取User
模型,而不是修改并保存相同的实例。
user = User.last
user.carts.last.time_purchased = Time.now
user.save
保存用户还应保存关联的购物车。
答
这是因为你取车的拷贝,修改它,然后取车的另一个副本和保存该。
您应该将购物车保存在一个变量中,然后应用保存。例如:
cart = User.last.carts.last
cart.time_purchased = Time.now
cart.save
或者,你可以使用update_attribute,像这样:
User.last.carts.last.update_attribute(:time_purchased, Time.now)