在运行原始SQL时如何更新counter_cache?

时间:2015-09-04 14:00:22

标签: sql ruby-on-rails ruby activerecord

我有几个计数器缓存,当模型保存/更新或由于挂钩后销毁时更新。如果我使用原始SQL创建/更新或销毁记录,我该如何自动更新计数器缓存?

1 个答案:

答案 0 :(得分:2)

这应该可以帮到你

http://apidock.com/rails/ActiveRecord/CounterCache/ClassMethods/reset_counters

# For Post with id #1 records reset the comments_count
Post.reset_counters(1, :comments)
  

使用SQL计数查询将一个或多个计数器缓存重置为正确的值。这在添加新的计数器缓存时,或者计数器已被SQL直接损坏或修改时非常有用。