ruby on rails - example - Rieles: alrededor_*devoluciones de llamada
rails after action (2)
La devolución de llamada around_ * se invoca alrededor de la acción y dentro de las acciones before_ * y after_ *. Por ejemplo:
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''
end
end
User.save
before save
in around save
out around save
after_save
=> true
He leído la documentación en http://api.rubyonrails.org/classes/ActiveRecord/Callbacks.html , pero no entiendo cuándo se around_*
devoluciones de llamada around_*
en relación con before_*
y after_*
.
Cualquier ayuda muy apreciada.
Gracias.
around_*
callbacks antes de la acción, luego cuando desea invocar la acción en sí, yield
a ella, luego continúe la ejecución. Es por eso que se llama around
El orden es el siguiente: before
, after
, after
.
Entonces, un around_save
típico se vería así:
def around_save
#do something...
yield #saves
#do something else...
end