设定
Controller -> Action Index
results = Model.all (SQL Call)
View
Loop through and render partial from results. Call count for result row (SQL Call)
Partial
Manage result data and add point on Google map
我试图让我加caches_page缓存此页:指标到我的控制器。 当我浏览这个页面它创建模板(而不是局部)的成功缓存。 但是它仍然使所有的SQL来电它不应该。
通过改变它caches_action:指数无SQL调用制造,但我收到两个“过滤器链停止”错误。
页面呈现正确,所以我不知道这是不是我应该过目与否。
如果有人能够解释为什么caches_page不工作,或者我应该何去何从上停止过滤器链,我将不胜感激。
谢谢!
首先,如果你想在开发环境中测试缓存,请确保您设置:
# in config/environments/development.rb
config.action_controller.perform_caching = true
其次,页面缓存的工作原理是写一个静态的HTML文件到/ public目录具有相同的URL,你的缓存作用。 当一个请求时,Web服务器看到静态文件,并提供它,完全避免导轨。 这是同样的方式图像服务。 如果你改变config.action_controller.page_cache_directory
您的静态文件将被写入到错误的目录/ URL,而不是由Web服务器发现。
最后,确保你更改生产它们的缓存行为,否则修改的行动将不会运行删除生成的静态文件。 这是真实的,即使你关闭缓存! 你仍然需要删除的文件。
文章来源: Rails Page Caching not working and Action Caching throwing 'Filter Chain Halted'