删除嵌套对象后如何触发嵌套计数更新

时间:2013-08-26 21:11:17

标签: ruby-on-rails

我有这个回调来更新总和所有嵌套对象数量的总量。添加新的付款项目时这很有用。

before_save :update_payment_total

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

问题在于编辑付款和删除付款项时{I}未被触发我假设是因为在调用此回调后删除了payment_items。

当尝试使用after_save而设置一些save或update_attributes时,我得到before_save

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

1 个答案:

答案 0 :(得分:0)

我应该使用after_commit代替stack level too deep