当我们网站上的评论被销毁时,after_destroy
回调用于更新统计信息:
after_destroy do |p|
p.topic.update_attribute(:replies, p.replies - 1)
end
我想在评论获得"软删除"时能够做同样的事情。当评论被软删除时,comment.visible
字段将从1
设置为0
。
有没有办法告诉在更新回调期间何时发生这种情况?类似的东西:
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
答案 0 :(得分:2)
您可以p.visible_changed?
查看是否有所更改。您还可以使用ActiveModel::Dirty
为您提供的其他方法查看更改内容以及更改内容,默认情况下,ActiveRecords
提供此方法。