我有具有has_many对象的记录。已经创建了对象,其中的record_id列已预先填充了将来的record.id。但是,当创建该将来的记录时,计数器缓存始终从0开始。
如何使计数器缓存从正确数量的关联对象而不是零开始?
答案 0 :(得分:2)
您可能正在寻找reset_counters
。从文档中:
使用SQL计数查询将一个或多个计数器缓存重置为正确的值。当添加新的计数器缓存时,或者如果计数器已被SQL直接破坏或修改,此功能将非常有用。
示例:
# For the Post with id #1, reset the comments_count Post.reset_counters(1, :comments)