I'm now following this method - using a callback to log the changed attributes in my audit table for the model.
The only thing is, I'd like to grab the name of the logged-in user and save it in the audit table. Is there any way of doing that? I can get it in the controller, but not in the model by using current_admin_user.login On May 25, 4:33 pm, Kendall Gifford <[email protected]> wrote: > On Wednesday, May 25, 2011 9:06:49 AM UTC-6, Mlle wrote: > > > If I wanted to write my own db trigger using a 'before_save" callback, > > how would I get the before save and after save values? > > > Thanks! > > By "before save and after save values" do you mean the original, unchanged > value(s) of the propert(y|ies) and the new, changed value(s)? > > If so, you might be interested in #changed_attributes. If you call this on a > model instance, it returns a hash where the keys are the names of the model > attributes that have changed and the associated values are original values. > For example: > > > x = User.find(1) > > => #<User id: 1, name: "Bill", ...>> x.changed? > => false > > x.name > => "Bill" > > x.name = "Fred" > => "Fred" > > x.changed? > => true > > x.changed_attributes > > => { "name" => "Bill" }> x.save > => true > > x.changed? > => false > > x.changed_attributes > > => {} > > For more information:http://api.rubyonrails.org/classes/ActiveModel/Dirty.html -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.

