Identifying changes to activerecord tables from form input

Hey, wonderful Rails people!

If I have a person record, and associated (has many) address records, is there any easy way that I can identify which fields have been changed via form, instead of updating the db in a standard sense.

Specifically, I'm trying to create "change request" records for each field that's modified via a form which has all the person fields, as well as all the associated address fields for the standard (home, office) address types. However, instead of actually doing the update through activerecord, I'm just trying to trap the change requests.

If, for instance, on the "Edit" screen I change the spelling of my first name and my home address's city, I'd like it to create two "change" records, but not touch the person or address records that are out there.

So far I'm hitting a wall. Has anyone else tried to do something similar and come up with more luck?

Thanks! --Scott

This looks like it'll work perfectly. Thank you so much!

--Scott