2

Ruby on Railsでは、ActiveRecordclass MySettingsの場合、よりエレガントなオプションがありますか?

s = MySettings.last
s.do_updates = true
s.save

一行で?

4

3 に答える 3

5

update_attributesを使用します:

  MySettings.last.update_attributes :do_updates => true
于 2013-02-27T16:51:02.027 に答える
2

update_attributes

MySettings.last.update_attributes(:do_updates => true)
于 2013-02-27T16:51:13.440 に答える
2

他の人が示唆しているように、私は通常お勧めしますが、これはを置き換えるupdate_attributesのに最適な状況です。 Rails 4.xで削除されており、3.2.x以降のリリースで非推奨の警告が発行されます。update_columnupdate_attributeupdate_attribute

MySettings.last.update_column(:do_updates, true)

とは異なりupdate_attributesupdate_column検証やコールバックは実行されません。ActiveRecordコールバックが必要な場合は、必ず。を使用してupdate_attrbutesください。

于 2013-02-28T00:09:29.660 に答える