ActiveRecord で更新した diff 知りたいとき
user レコードの uid, name をアップデートした diff
(id, created_at, updated_at の diff は抜いた)
(main)> user = User.find 1 (main)> old_user = user.dup (main)> user.update(uid: 'fugafuga', name: 'ふが') (main)> diff = (user.attributes.to_a - old_user.attributes.to_a).map(&:first) - %w(id created_at updated_at) (main)> p diff.map{|column| "#{column} : #{old_user[column]} => #{user[column]}"} => ["uid : hogehoge => fugafuga", "name : ほげ => ふが"]
changed とか使うともっとヨサソウ
同じような gem もあった
古いかな
常に履歴を残したい場合は、こっちの gem がヨサソウ
Qiita の投稿の履歴管理にも使われてるっぽい