【发布时间】:2015-12-28 17:27:35
【问题描述】:
我有一个带有计数器缓存(使用belongs_to :my_model, counter_cache: true 设置)的 Rails 4.2 应用程序设置了不正确的值。我可以直接调用控制台并调用MyModel.associated_model_count 并获取20,然后调用MyModel.associated_model.count 并获取19。保存模型并不能解决此问题。
这些值似乎并没有太大的偏差,但有些肯定是偏差的,我不知道为什么。
【问题讨论】:
-
您需要重现首先导致它出错的情况。一旦出错,您将无能为力(除了手动更新计数器)
-
你有没有找到答案?我看到model_count高于model.count的情况相同。不知道怎么会发生。重置确实有效,但并不能解决它首先不同步的根本问题。
-
我也喜欢这个,因为我们也看到了这个。我们从不(好吧,很少)破坏。我想知道它是否在创建失败时失败?
标签: ruby-on-rails ruby-on-rails-4 rails-activerecord counter-cache