article = Article.find (: first)
article.changed? # => false
# attr_name_changed? accessor
article.title
# => Header
article.title = “New heading”
article.title_changed?
# => true
# attr_name_was accessor
article.title_was
# => Header
# attr_name_change accessor
article.title_change
# => ["Title", "New Title"]
article.changed # => ['title']
article.changes
# => {'title' => [“Title”, “New Title”]}
article.changed?
# => true
article.save
# => true
article.changed?
# => false
article = Article.find (: first)
article.title_will_change!
article.title.upcase!
article.title_change # => ['Title', 'TITLE']
Source: https://habr.com/ru/post/22825/