2

我经常使用片段缓存,这对我来说是获得良好性能的关键。但是,由于我使用的缓存的复杂性,我需要为我的测试人员提供一种禁用/启用缓存作为会话变量的方法。(仅基于用户)

我在考虑实现一个cache_disabled?方法,现在我在使用缓存的任何地方检查它的值。现在,我被下面的缓存卡住了,我不知道如何很好地集成这个检查:

<% cache(@cache_key_for_consultContent) do %>
     <div id="consult">
              <%= render :partial => 'LOTS_OF_CONTENT' %>
     </div>
<% end %>

我需要在禁用缓存或尚未缓存内容时调用内容。

谢谢你的创意!(请保持干燥)

4

1 回答 1

3

在您的应用程序助手中,您可以尝试:

def optional_cache(key, &block)
  cache(key, &block) unless session[:disable_caching]
end

然后用 optional_cache() 替换对 cache() 的调用。

于 2010-01-28T16:29:46.610 回答