ActiveRecordを使っていると時々プログラム内でModelオブジェクトの値を変更してから、変更前の値が欲しくなったりすることがある。 そんなときはActiveModel::Dirtyのメソッドを使うとModelのオブジェクトに変更があった時に変更の情報を取得出来る。 # たとえばUserのレコードを一個引っ張ってきて u = User.last => #<User id: 5, age: 19, name: "Kiriko Takemura"> # 変更されていないことが確認出来る u.changes => {} u.changed => [] u.changed? => false # 名前を変更してみる u.name = "Caroline Charonplop Kyary Pamyu Pamyu" # するとchangesが変更されたプロパティの変更前と変更後のデータが取得で