Ruby on rails Rails 4缓存未捕获更改
我正在尝试使用Rails 4的片段缓存来缓存我的导航菜单 型号Ruby on rails Rails 4缓存未捕获更改,ruby-on-rails,caching,ruby-on-rails-4,Ruby On Rails,Caching,Ruby On Rails 4,我正在尝试使用Rails 4的片段缓存来缓存我的导航菜单 型号 class Page < ActiveRecord::Base belongs_to :parent, :class_name => 'Page', :touch => true has_many :children, :class_name => 'Page', :foreign_key => 'parent_id' ... end 为什么Rails无法识别页面中的更改
class Page < ActiveRecord::Base
belongs_to :parent, :class_name => 'Page', :touch => true
has_many :children, :class_name => 'Page',
:foreign_key => 'parent_id'
...
end
为什么Rails无法识别页面中的更改?事实证明我的一切都是正确的,但是我的模型的范围:
scope :level_1, where(:level => 1)
默认情况下正在缓存,因为它不包含lambda
。将范围更改为:
scope :level_1, -> { where(:level => 1) }
解决了我的问题,现在缓存摘要工作完美
scope :level_1, -> { where(:level => 1) }