Rails - 实现可选片段缓存的最佳方法,用于测试目的

时间:2010-01-28 15:23:00

标签: ruby-on-rails testing caching fragment-caching

我正在使用片段缓存,这对我来说是非常重要的。但是,由于我正在使用的缓存的复杂性,我需要提供我的测试人员,一种禁用/启用缓存作为会话变量的方法。 (仅限用户)

我在考虑实现cache_disabled?方法,我现在在使用缓存的任何地方检查它的值。现在,我坚持使用下面的缓存,我无法弄清楚如何很好地整合这个检查:

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

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

感谢您的创造力! (请保持干燥)

1 个答案:

答案 0 :(得分:3)

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

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

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