Log the user who destroyed a record using 'before_destroy' callback

I want to log the user who destroyed a record using before_destroy
callback.
But, I dont know how to pass arguments to before_destroy(and I am not
sure
if it is possible). Maybe I am dealing this in the wrong way. Any other
perspective to do this will also do.


Thanks,
Prince

I got it. I can add a virtual attribute to the model (something like
attr_accessor :destroyer or something) and you can access it in the
method for before_destroy callback. Something like:

Controller

@record = Record.find(params[:id])
@record.destroyer = current_user
@record.destroy

Model

attr_accessor :destroyer
before_destroy :log_destroyer

def log_destroyer
if destroyer
## code for logging
end
end

Courtesy: Azolo http://stackoverflow.com/users/527152/azolo who
answered
my
questionhttp://stackoverflow.com/questions/9156088/log-the-user-who-destroyed-a-record-using-before-destroy-callback
in
SO. In case anyone is wondering how to do it :wink:

On Mon, Feb 6, 2012 at 11:26 AM, Prince J. [email protected]
wrote:

I want to log the user who destroyed a record using before_destroy callback.
But, I dont know how to pass arguments to before_destroy(and I am not
sure if it is possible). Maybe I am dealing this in the wrong way. Any
other perspective to do this will also do.


Thanks,
Prince


Thanks,
Prince

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs