gpt4 book ai didi

ruby-on-rails - Rails 4计数器缓存不同步

转载 作者:行者123 更新时间:2023-12-03 17:33:51 27 4
gpt4 key购买 nike

我有一个带有计数器缓存(使用 belongs_to :my_model, counter_cache: true 设置)的 Rails 4.2 应用程序,它设置了不正确的值。我可以直接调用控制台并调用 MyModel.associated_model_count并获取 20 ,然后调用MyModel.associated_model.count并获取 19 .保存模型并不能解决此问题。

这些值似乎并没有太大的偏差,但有些肯定是偏差的,我不知道为什么。

最佳答案

为了回答您的部分问题并希望帮助您进行调试,计数器列仅在 create 上更新。和 destroy ,因此保存对象不会触发计数器更新。更多细节可以在 :counter_cache 下找到在此处的选项下输入:http://api.rubyonrails.org/classes/ActiveRecord/Associations/ClassMethods.html#method-i-belongs_to

您可以使用 MyModel.reset_counters(id, *counters) 手动触发计数器更新。 ( http://apidock.com/rails/ActiveRecord/CounterCache/reset_counters ) 如果你想进入一个干净的状态以便查明它在哪里发生。

有帮助的答案和讨论的相关问题:Rails counter_cache not updating correctly

关于ruby-on-rails - Rails 4计数器缓存不同步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34497931/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com