ActiveRecord属性(=データベースからロードされた値)の元の値を取得する方法はありますか?Railsで属性の元の値を取得する方法
私は、タスクを更新すると(実際には、テーブル内の別のキーに移動)ハッシュテーブルからオブジェクトを削除することですオブザーバーでこのような何か
before_save object
do_something_with object.original_name
end
をしたいです。
ActiveRecord属性(=データベースからロードされた値)の元の値を取得する方法はありますか?Railsで属性の元の値を取得する方法
私は、タスクを更新すると(実際には、テーブル内の別のキーに移動)ハッシュテーブルからオブジェクトを削除することですオブザーバーでこのような何か
before_save object
do_something_with object.original_name
end
をしたいです。
あなたの属性に_was
を追加すると、以前の価値が得られます。
ActiveRecordのattributes_before_type_cast
メソッドは、型キャストと逆シリアル化が発生する前に属性のハッシュを返します。
は
http://api.rubyonrails.org/classes/ActiveModel/Dirty.html
Model.attribute_wasが返すレールのマニュアルの前の値を見てみましょう:D
おかげで、私が探していたまさに! –
レールはとても素晴らしいです – digitalWestie
例: 'self.context':' self.context_was' –