с 5.1 + у меня работает следующее:
saved_changes?
сообщит вам, изменился ли ваш объект:
my_object.saved_changes?
=> true
saved_changes
сообщит, какие поля были изменены, значения до и после для каждого поля:
my_object.saved_changes
=> {"first_name"=>['Jim', 'Jimmy'], "updated_at"=>[Thu, 06 Dec 2018 18:45:00 UTC +00:00, Thu, 06 Dec 2018 18:52:44 UTC +00:00]}