Skip to content

Latest commit

 

History

History
33 lines (24 loc) · 926 Bytes

inspect-previous-changes-to-activerecord-object.md

File metadata and controls

33 lines (24 loc) · 926 Bytes

Inspect Previous Changes To ActiveRecord Object

If you modify an ActiveRecord object, before saving it, you can inspect changes with methods like changed? and <attr>_changed?:

book.title = "The Fifth Season"

book.changed? #=> true
book.title_changed? #=> true
book.publication_year_changed? #=> false

book.changes
#=> { "title" => ["Original Title", "The Fifth Season"] }

After saving an object, it will no longer be in a dirty state and these methods will have no changes to return.

If you have a reference to the saved ActiveRecord object, you can look at the previous changes with methods like previous_changes and <attr>_previously_changed?:

book.title = "The Fifth Season"
book.save

book.title_previously_changed? #=> true
book.previous_changes
#=> { "title" => ["Original Title", "The Fifth Season"] }

source