Я прочитал документацию по адресу http://api.rubyonrails.org/classes/ActiveRecord/Callbacks.html , но не понимаю, когда around_*
срабатывают обратные вызовы относительно before_*
и after_*
.
Любая помощь очень ценится.
Спасибо.
Я прочитал документацию по адресу http://api.rubyonrails.org/classes/ActiveRecord/Callbacks.html , но не понимаю, когда around_*
срабатывают обратные вызовы относительно before_*
и after_*
.
Любая помощь очень ценится.
Спасибо.
around_*
обратные вызовы вызываются перед действием, затем, когда вы хотите вызвать само действие, вы yield
переходите к нему, а затем продолжаете выполнение. Вот почему это называетсяaround
Порядок выглядит следующим образом : before
, around
, after
.
Итак, типичный вариант around_save
будет выглядеть так:
def around_save
#do something...
yield #saves
#do something else...
end
Обратный вызов around_ * вызывается вокруг действия и внутри действий before_ * и after_ *. Например:
источник