【发布时间】:2011-10-09 20:46:33
【问题描述】:
有没有不保存记录的update_attributes 的替代方法?
所以我可以这样做:
@car = Car.new(:make => 'GMC')
#other processing
@car.update_attributes(:model => 'Sierra', :year => "2012", :looks => "Super Sexy, wanna make love to it")
#other processing
@car.save
顺便说一句,我知道我可以@car.model = 'Sierra',但我想在一行上更新它们。
【问题讨论】:
-
“不保存记录”是什么意思?
-
update_attributes 将模型保存到数据库中。我想知道是否有类似的方法没有。
-
属性非破坏性方法。详情见API
-
您可以使用 update_column(name, value) 更新对象的单个属性,而无需调用 save。 1. 跳过验证。 2. 回调被跳过。 3. 如果该列可用,updated_at/updated_on 列不会更新。 apidock.com/rails/ActiveRecord/Persistence/update_column
-
对于 3.1+,使用
assign_attributesapidock.com/rails/ActiveRecord/Base/assign_attributes
标签: ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-4 rails-activerecord