回调会停止Rails中的操作吗
时间:2020-03-06 14:37:11 来源:igfitidea点击:
如果回调处理程序返回false,是否仅导致该回调的处理程序不被调用,还是导致该处理程序中其余的回调以及所有后续回调也不被调用?
解决方案
如果before_ *回调返回false,则将取消所有更高版本的回调和关联的操作。如果after_ *回调返回false,则所有以后的回调都将被取消。回调通常按照定义的顺序运行,但定义为模型上方法的回调除外,这些回调称为last。
cf http://api.rubyonrails.org/classes/ActiveRecord/Callbacks.html