2013-08-26 96 views
0

我有這個回調更新所有嵌套對象總量的總和。這在添加新付款項目時很有用。如何在刪除嵌套對象後觸發嵌套計數更新

before_save :update_payment_total 

def update_payment_total 
    self.amount_cents = self.payment_items.sum(:total_payout_cents) 
end 

的問題是編輯付款和刪除before_save不會被觸發我相信,因爲在此之後回調調用payment_items被刪除付款項目時。

當嘗試使用after_save的替代,並設置一些保存或update_attributes方法我得到stack level too deep

任何想法如何更新計數僅基於新的保存支付項目?

回答

0

我應該用after_commit來代替,所以我可以避開stack level too deep