【发布时间】:2014-02-25 15:11:43
【问题描述】:
我正在尝试在 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
这部分工作正常。每当我更新嵌套页面时,所有父母的 updated_at 值都会更改。但是没有写入该组页面的新缓存视图文件。
导航视图
<nav>
<ul>
<% Page.level_1.each do |page_1| %>
<% cache page_1 do %>
<li>
<%= link_to page_1.title, level_1_page_path(page_1.slug) %>
<% if page_1.children.count > 0 %>
# continue nesting children
...
<% end %>
</li>
<% end %>
<% end %>
</ul>
</nav>
为什么 Rails 不能识别页面中的变化?
【问题讨论】:
标签: ruby-on-rails caching ruby-on-rails-4