post_create在失败后调用保存?

Tyl*_*att 9 activerecord ruby-on-rails

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

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

2)它是否在失败的创建中被调用?

RAILS API文档说:

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

3)这是否意味着它需要saveafter_save被调用之前成功,或者它是否意味着一旦save被调用after_save总是被触发?

Kar*_*bur 6

我如何知道调用after_create的顺序以及它是否因创建失败而持续存在?

你可以在这里阅读回调的顺序:http: //api.rubyonrails.org/classes/ActiveRecord/Callbacks.html

如果事务失败,则返回save事件(和create/ updateevents)false.这将阻止所有后续回调运行.所以after_save,after_create/ after_update一切永远不会在一个失败的运行save(或故障create/ update).

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