如何禁用某些视图的动作控制器缓存?
问题描述:
我在我的项目中有一些静态页面,我希望能够更改时间并且不重新启动服务器以应用更改。 如果config.action_controller.perform_caching
设置为true,那么这是正确的方法吗?如何禁用某些视图的动作控制器缓存?
答
我发现自己使用非标准IO库阅读来自本地文件的HTML代码并通过render
方法呈现。因为它是一个静态页面,我不需要在里面执行任何rails代码。它对我很好,但不应该知道性能,但应该罚款我认为=)
答
使用cache_store你应该允许设置一个 ActiveSupport::Cache::NullStore
所以在您的控制器可能会使用类似的方法:
class ProductsController < ApplicationController
config.cache_store = :null_store
end
注:我没有测试此代码,但它应该为你提供指导。
编辑由于您使用的谐音,也许你可以使用actionpack-page_caching通过设置caches_page :new
仅高速缓存的新动作或到缓存目录设置为/dev/null
:
class WeblogController < ApplicationController
self.page_cache_directory = '/dev/null'
end
因为它是一个静态内容也没有看到在该网页上创建缓存时遇到任何问题,但是您应该知道它是最好的拥有者!
答
两个选项:
修改缓存的关键过期了。
呼叫Rails.cache.clear,以清除所有的缓存,它是最快捷的解决方案,但WATCHOUT,它会清除所有缓存
感谢回答,但它doesnt帮助=(也许因为我使用partials? – jealrockone
@jealrockone请检查更新! –