Eu li a documentação em http://api.rubyonrails.org/classes/ActiveRecord/Callbacks.html , mas não entendo quando os around_*
retornos de chamada são acionados em relação a before_*
e after_*
.
Qualquer ajuda muito apreciada.
Obrigado.
Eu li a documentação em http://api.rubyonrails.org/classes/ActiveRecord/Callbacks.html , mas não entendo quando os around_*
retornos de chamada são acionados em relação a before_*
e after_*
.
Qualquer ajuda muito apreciada.
Obrigado.
around_*
os callbacks são invocados antes da ação, então, quando você quiser invocar a própria ação, você yield
a invoca e continua a execução. É por isso que é chamadoaround
A ordem é a seguinte: before
, around
, after
.
Então, um típico around_save
seria assim:
def around_save
#do something...
yield #saves
#do something else...
end
O callback around_ * é chamado em torno da ação e dentro das ações before_ * e after_ *. Por exemplo:
fonte