post_create在失败后调用保存?

时间:2015-09-01 18:19:58

标签: ruby-on-rails activerecord

每当我确定保存模型时,我想向外部软件发送请求。

1)如何确定调用after_create的顺序?

2)是否在创建失败时调用它?

RAILS API文档说:

  

请注意,此回调仍包含在围绕保存的事务中。

3)这是否意味着要求save在调用after_save之前取得成功,或者是否意味着一旦save被调用after_save总是被触发?

1 个答案:

答案 0 :(得分:6)

  

我将如何了解after_create被调用的顺序以及是否   通过失败的创作持续存在?

您可以在此处阅读回调的顺序: http://api.rubyonrails.org/classes/ActiveRecord/Callbacks.html

如果交易失败,save事件(和create / update事件)将返回false。这将阻止所有后续回调运行。因此,after_saveafter_create / after_update永远不会在失败的save(或失败的create / update)上运行。< / p>

...并且事务被回滚,因此数据库实际上没有更新。