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 并设置一些 save 或 update_attributes 我得到stack level too deep

知道如何仅根据新保存的付款项目更新计数吗?

4

1 回答 1

0

我应该after_commit改用,所以我可以避免stack level too deep.

于 2013-08-26T21:14:42.490 回答