我有这个回调来更新所有嵌套对象数量的总和。这在添加新的付款项目时效果很好。
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
知道如何仅根据新保存的付款项目更新计数吗?