【发布时间】:2011-09-01 11:46:16
【问题描述】:
我在使用 memcached 查看 Rails 3.0.4 应用程序中的片段级缓存时遇到了问题。我对正在发生的事情有点困惑,但我认为这与从缓存区域内提取输出的方式有关。我在 -vv 模式下在本地运行 memcached,并且可以看到正确保存/提取片段的密钥,问题是 memcached 中项目的值。
这是我正在做的事情:
< ... html before ... >
<%= cache("item_#{i.id}") do %>
<%= render :partial => 'shared/item', :locals => { :item => i, :functionality => [:set_as_default] } %>
<% end %>
< ... html after ... >
当我查看缓存中键的值时,它具有来自该片段缓存块中的页面内的 html,但也在该页面之外(来自 html before 和 html after 区域)。这是有趣的部分,这也是我认为它与捕获输出有关的原因——它不会处理整个页面,只是之前和之后的一些 html。
根据 rails 片段缓存指南,我认为我做的事情是正确的(http://guides.rubyonrails.org/caching_with_rails.html#fragment-caching)。有人对可能发生的事情有想法吗?
非常感谢您的帮助!
-埃里克
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3 memcached