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

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – Rails 4计数器缓存不同步前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个带有计数器缓存的Rails 4.2应用程序(设置为belongs_to:my_model,counter_cache:true),它设置的值不正确.我可以直接调用控制台并调用MyModel.associated_model_count并获得20,然后调用MyModel.associated_model.count并获得19.@R_691_301@不能解决这个问题.

这些价值似乎没有多少关闭,但有些肯定是关闭的,我无法弄清楚原因.

解决方法

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

您可以使用MyModel.reset_counters(id,*计数器)(http://apidock.com/rails/ActiveRecord/CounterCache/reset_counters)手动触发计数器更新,如果您想要进入干净状态以确定它的位置.

相关问题以及有用的答案和讨论:Rails counter_cache not updating correctly

猜你在找的Ruby相关文章