コールバックがレールで操作を停止する


1

コールバックハンドラがfalseを返した場合、のハンドラのみが呼び出されますか、それともコールバックが呼び出されないか、ハンドラ内の残りのコールバックとそれ以降のコールバックは呼び出されません同じように?

5

before_ *コールバックがfalseを返した場合、後のコールバックとそれに関連するアクションはすべてキャンセルされます。 after_ *コールバックがfalseを返すと、それ以降のコールバックはすべてキャンセルされます。コールバックは、定義された順番で実行されますが、モデル上で最後に呼び出されるメソッドとして定義されたコールバックは例外です。

cf http://api.rubyonrails.org/classes/ActiveRecord/Callbacks.html