2017-04-09 53 views
0

在Rails 5有可能啓用/禁用緩存:如果Rails 5緩存啓用,如何執行檢查?

rails dev:cache 
=> Development mode is now being cached. 

rails dev:cache 
=> Development mode is no longer being cached. 

我的問題是,有沒有從高速緩存是否啓用或禁用的應用程序可以獲取信息的方法? 類似於:Rails.cache.enabled?

我知道我可以檢查文件tmp/caching-dev.txt的存在,但是我正在尋找更高級別的東西。

+1

運行rake開發:緩存將創建或刪除TMP /緩存,dev.txt。當這個文件存在時,'config.activity_controller.perform_caching'將在'config/environments/development.rb'中設置爲'true'。 原始問題:https://github.com/rails/rails/issues/18875 PR:https://github.com/rails/rails/pull/20961/files –

+0

Thx。這就是我一直在尋找的。我將使用它:'Rails.configuration.action_controller.perform_caching'。你可以發佈它作爲答案(而不是評論)嗎? – maicher

+0

歡迎。這個問題已經有了答案。它將在那裏更新 –

回答

2

啓用緩存,在軌配置的cache_store切不可:null_store,所以我們可以很容易地檢查:

Rails.application.config.cache_store != :null_store 

=> true意味着啓用緩存

或者,我們可以檢查直接與perform_caching標誌:(感謝@AjinkyaPisal)

Rails.application.config.action_controller.perform_caching 
+0

我認爲最好使用'config.action_controller.perform_caching' http://edgeguides.rubyonrails.org/caching_with_rails.html –

+0

@AjinkyaPisal是的,最好讓我更新 –