Rails: around_* callbacks
around_*
callbacks are invoked before the action, then when you want to invoke the action itself, you yield
to it, then continue execution. That's why it's called around
The order goes like this: before
, around
, after
.
So, a typical around_save
would look like this:
def around_save #do something... yield #saves #do something else...end
The around_* callback is called around the action and inside the before_* and after_* actions. For example:
class User def before_save puts 'before save' end def after_save puts 'after_save' end def around_save puts 'in around save' yield # User saved puts 'out around save' endendUser.save before save in around save out around save after_save=> true