从大于0开始计数器缓存

时间:2019-01-22 10:39:08

标签: ruby-on-rails ruby has-many belongs-to counter-cache

我有具有has_many对象的记录。已经创建了对象,其中的record_id列已预先填充了将来的record.id。但是,当创建该将来的记录时,计数器缓存始终从0开始。

如何使计数器缓存从正确数量的关联对象而不是零开始?

1 个答案:

答案 0 :(得分:2)

您可能正在寻找reset_counters。从文档中:

  

使用SQL计数查询将一个或多个计数器缓存重置为正确的值。当添加新的计数器缓存时,或者如果计数器已被SQL直接破坏或修改,此功能将非常有用。

     

示例:

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