ruby-on-rails-3 – Rails.cache.fetch插入额外的值
发布时间:2020-12-17 07:10:25 所属栏目:百科 来源:网络整理
导读:我们有一个页面显示我们的应用程序的顶级组.排行榜的计算是昂贵的,因此我们将结果缓存一小时,如下所示: @groupboard = Rails.cache.fetch("top_groups",:expires_in = 1.hour) do Group.top_groupsend 这是在第一次写入缓存后出错.在控制台中查看,我看到Gro
我们有一个页面显示我们的应用程序的顶级组.排行榜的计算是昂贵的,因此我们将结果缓存一小时,如下所示:
@groupboard = Rails.cache.fetch("top_groups",:expires_in => 1.hour) do Group.top_groups end 这是在第一次写入缓存后出错.在控制台中查看,我看到Group.top_groups返回的项目数组如下所示: [#<Group id: 4,name: "IBP",rank: 6,users_count: 13,leader_id: 4662>,3887] 当我查看从缓存返回的结果时,它看起来如下: [#<Group id: 4,:@new_record_before_save],false,3887] 有谁知道什么会导致@new_record_before_save和’false’值插入缓存中此对象的所有条目? 我们使用的是Dalli,Memcached 1.4.9,Rails 3.2.4,Ruby 1.9.2 解决方法
AR对象上存在Rails缓存的错误,该错误具有关联对象.试试以下:
@groupboard = Rails.cache.fetch("top_groups",:expires_in => 1.hour) do Group.top_groups.map(&:reload) end 了解更多 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |