ブックマーク / qiita.com/kakkunpakkun (1)

  • ActiveModel::Dirtyのメソッドを使って変更を感知しよう - Qiita

    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が変更されたプロパティの変更前と変更後のデータが取得で

    ActiveModel::Dirtyのメソッドを使って変更を感知しよう - Qiita
    crist18
    crist18 2014/07/17
    “ActiveModel::Dirtyのメソッドを使うとModelのオブジェクトに変更があった時に変更の情報を取得出来る”
  • 1