在Ruby on Rails中,对于ActiveRecord class MySettings
,是否有更优雅的选择
s = MySettings.last
s.do_updates = true
s.save
在一行?
答案 0 :(得分:5)
MySettings.last.update_attributes :do_updates => true
答案 1 :(得分:2)
MySettings.last.update_attributes(:do_updates => true)
答案 2 :(得分:2)
虽然我通常会推荐其他人提出的update_attributes
,但这是使用update_column
取代update_attribute
的完美情况。
在rails 4.x中删除了update_attribute
,并将在以后的3.2.x版本中发出弃用警告。
MySettings.last.update_column(:do_updates, true)
与update_attributes
不同,update_column
不执行验证或回调。如果您需要ActiveRecord回调,请务必使用update_attrbutes
。