1

我有一個模型,當插入一條記錄時,需要調用一個web服務。Rails 3:取消插入after_save

如果Web服務失敗(超時或其他失敗),則它們還應該還原數據庫中的保存。

我使用after_save回調,並試圖在發生這種錯誤時引發ActiveRecord :: Rollback。

雖然它在object.save上返回false,但它不回滾事務。這樣做的正確方法是什麼?

我怎樣才能確保記錄不會被創建?

回答

1

嘗試使用before_save,並從中返回false。

+0

這會觸發更新以及 –

+0

您可以檢查模型中的'id'問題。只有在插入數據庫之後,'id'纔會出現。 –