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