2015-09-01 74 views
7

只要我確定保存了模型,我就想向外部軟件發送請求。after_create在保存失敗後調用?

1)如何確定after_create被調用的順序?

2)它是否被調用失敗的創建?

鐵軌API文檔說:

注意,這個回調仍然包裹在交易周圍保存。

3)這是否意味着它需要save成功after_save之前被稱爲還是意味着,一旦save被稱爲after_save總是觸發?

回答

4

我該如何學習after_create被調用的順序,以及如果 通過失敗的創建持續存在?

您可以在這裏閱讀回調的順序: http://api.rubyonrails.org/classes/ActiveRecord/Callbacks.html

如果交易失敗,則save事件(create/update事件)返回false。這將阻止所有後來的回調被運行。所以,after_save,after_create/after_update都不會在失敗的save(或失敗的create/update)上運行。

...並且事務回滾,所以數據庫沒有實際更新。