You can achieve this with paper_tail gem. If you add the text column object_changes to the version table, you can use the version.changeset method to retrieve it. If you have not already done so, I recommend going to the "Diffing Versions" section at https://github.com/airblade/paper_trail
ps I am using paper_trail in one of my projects currently.
source share