每当我确定保存模型时,我想向外部软件发送请求。
1)如何确定调用after_create的顺序?
2)是否在创建失败时调用它?
RAILS API文档说:
请注意,此回调仍包含在围绕保存的事务中。
3)这是否意味着要求save
在调用after_save
之前取得成功,或者是否意味着一旦save
被调用after_save
总是被触发?
答案 0 :(得分:6)
我将如何了解after_create被调用的顺序以及是否 通过失败的创作持续存在?
您可以在此处阅读回调的顺序: http://api.rubyonrails.org/classes/ActiveRecord/Callbacks.html
如果交易失败,save
事件(和create
/ update
事件)将返回false
。这将阻止所有后续回调运行。因此,after_save
,after_create
/ after_update
永远不会在失败的save
(或失败的create
/ update
)上运行。< / p>
...并且事务被回滚,因此数据库实际上没有更新。