3

私はレール3.0を実行しています。ブール値フィールドを変更したいオブジェクトがありますが、updated_at タイムスタンプを変更したくありません。Rails をすぐにアップグレードする予定はないので、update_column は問題外です。これをサポートするためにモデル レベルの変更を行いたくありません (この投稿のように: http://blog.bigbinary.com/2009/01/21/override-automatic-timestamp-in-activerecord-rails.html )、このタイプのオブジェクトの多くは、同時に呼び出されるメソッドを持つ可能性があるためです。

4

3 に答える 3

7

更新する前に、record_timestamps属性をfalseに設定できます。

User.record_timestamps=false
User.first.update_attributes(:field1 => "Test")
User.record_timestamps=true

詳細: http: //blog.bigbinary.com/2009/01/21/override-automatic-timestamp-in-activerecord-rails.html

于 2012-08-01T19:23:40.830 に答える
7

.update_all を使用できます。

User.where(:id => @user.id).update_all(:your_bool_field => true)
于 2012-08-01T19:25:37.280 に答える