A recent thread titled “DB record versioning/audit” made me post this
I’ve created a plugin called “acts_as_logged”. In your model you
simply put: acts_as_logged and it then uses riff (http://
wiki.rubyonrails.org/rails/pages/Riff+Plugin) to detect differences
in the model and logs the changes to a log table. In the log table, I
store the user id, timestamp, what was changed (total_charge_amount
was changed from ‘10.35’ to ‘32.33’), what object type (for instance,
MedicalClaim, Article, User), and what the id is of the object.
I am using it in my current project but really have not made it for
global consumption, but if there is intrest, I’ll work on it a bit to
make it something that can be released to the general public.