Rails: around_ * callbacks

J’ai lu la documentation à l’ adresse http://api.rubyonrails.org/classes/ActiveRecord/Callbacks.html , mais je ne comprends pas quand les callbacks around_* sont déclenchés par rapport à before_* et after_* .

Toute aide très appréciée.

Merci.

around_* callbacks sont invoqués avant l’action, puis lorsque vous souhaitez appeler l’action elle-même, vous y yield , puis continuez l’exécution. C’est pour ça qu’on appelle ça

L’ordre va comme suit: before , around , after .

Donc, un around_save typique ressemblerait à ceci:

 def around_save #do something... yield #saves #do something else... end 

Le rappel de around_ * est appelé autour de l’action et dans les actions before_ * et after_ *. Par exemple:

 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