2010-01-28 66 views
2

我使用片段緩存很多,這對於我來說具有良好的性能至關重要。但是,由於我正在使用緩存的複雜性,我需要爲測試者提供一種禁用/啓用緩存作爲會話變量的方法。 (僅限用戶)Rails - 用於實現測試目的的Optionnal片段緩存的最佳方式

我在考慮實施cache_disabled嗎?方法,現在我在使用緩存的任何地方檢查它的值。現在,我堅持用下面的一塊緩存,我不能想出如何很好地集成這個檢查:

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

我需要的內容時調用緩存被禁用或內容是不緩存。

感謝您的創造力! (請保持其乾燥)

回答

3

在你的應用助手,你可以嘗試:

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

然後替換optional_cache您的通話緩存()()。

+0

我知道我會覺得答案如此明顯;-) 感謝哥們! – user62605 2010-01-28 16:34:41

+2

沒問題,有時你只需要有人指出明顯的,因爲你太陷入其他事情。它總是發生在我身上;) – jonnii 2010-01-28 16:42:08