A recent thread titled “DB record versioning/audit” made me post this
message:
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.
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.
Sounds good. One project I’m involved in has a requirement for users to
be able to see the past history of values in specific displayed fields,
and we are using an approach very like yours.