Use callbacks to determine model field changes?

What's the best way to examine what fields on a model are changing? Would you use a callback to do that and how?

I guess the simplest example of this is how lighthouseapp documents changes that a person makes to a ticket:

Milestone changed from “2.x” to “3.0”

State changed from “new” to “open”

How could I accomplish the same thing?

Take a look at ActiveRecord::Dirty

If you’re on Rails >= 2.1, you can track attribute changes:

You might also like Ryan Bates’ screencast on the topic:

Regards, Craig

Thanks for the help guys.

However, I've now hit the trap where I need session data in the observer (who is changing the model)...