Przeczytałem dokumentację na http://api.rubyonrails.org/classes/ActiveRecord/Callbacks.html , ale nie rozumiem, kiedy around_*
wywołania zwrotne są uruchamiane w odniesieniu do before_*
i after_*
.
Każda pomoc bardzo doceniona.
Dzięki.
Przeczytałem dokumentację na http://api.rubyonrails.org/classes/ActiveRecord/Callbacks.html , ale nie rozumiem, kiedy around_*
wywołania zwrotne są uruchamiane w odniesieniu do before_*
i after_*
.
Każda pomoc bardzo doceniona.
Dzięki.
around_*
wywołania zwrotne są wywoływane przed akcją, a następnie, gdy chcesz wywołać samą akcję yield
, przejdź do niej, a następnie kontynuuj wykonywanie. Dlatego to się nazywaaround
Kolejność idzie tak: before
, around
, after
.
Tak więc typowy around_save
wyglądałby tak:
def around_save
#do something...
yield #saves
#do something else...
end
Wywołanie zwrotne around_ * wywoływane jest wokół akcji oraz wewnątrz akcji before_ * i after_ *. Na przykład:
źródło