how to pass info external to model to after_create callback

I've got a situation where i have a model that whenever something
changes i want to drop a row in another table (audits) to indicate
that the record changed and who changed it. currently whenever i save
the data i make a call to the models audit method and pass in a User

keep in mind that the model i am auditing does not reference a user,
which is why i have to pass in the User object to the audit call.

anyways, i want to add after_create and before destroy callbacks to
the model but I am hung up on how to pass the User object via the



Take a look at the documentation on observers:

You may find this helpful, especially if you want to have an audit
trail on more than one table. You can pass the user to the model
using Thread.current:

Thread.current[:user] = your_user

The Rails Recipes book has an audit trail recipe ("Keeping Track of
Who Did What") that uses a cache sweeper that may give you some ideas.