0

当我们网站上的评论被销毁时,after_destroy回调用于更新统计信息:

after_destroy do |p|
  p.topic.update_attribute(:replies, p.replies - 1)
end

当评论被“软删除”时,我希望能够做同样的事情。当评论被软删除时,该comment.visible字段设置为从10

有没有办法判断在更新回调期间何时发生这种情况?就像是:

after_update do |p|
  if p.visible was changed from 1 to 0, then update stats.
    p.visible.update_attribute(:replies, p.replies - 1)
  end
end
4

1 回答 1

2

你可以p.visible_changed?看看它是否改变了。您还可以通过其他提供给您的方法查看它的变化以及它的变化,ActiveModel::Dirty默认情况下,所有ActiveRecords.

于 2012-09-14T02:53:16.343 回答