【发布时间】:2009-12-16 06:19:04
【问题描述】:
设置
控制器 -> 动作索引 结果 = Model.all(SQL 调用) 看法 循环并从结果中渲染部分。结果行的调用计数(SQL 调用) 部分的 管理结果数据并在 Google 地图上添加点我正在尝试缓存此页面,因此我将 caches_page :index 添加到我的控制器中。当我查看此页面时,它会创建成功的模板缓存(但不是部分缓存)。但是它仍然会进行所有不应该调用的 sql 调用。
通过更改它 caches_action :index 没有进行 sql 调用,但我收到两个“过滤器链停止”错误。
页面呈现正确,所以我不知道这是否是我应该查看的内容。
如果有人能够解释为什么 caches_page 不工作,或者我应该从这里停止过滤器链的位置,我将不胜感激。
谢谢!
【问题讨论】:
-
这是在本地还是在您的生产服务器上?页面缓存在本地不做任何事情(与脚本/服务器一起使用时;如果您在开发机器上运行Passenger)。
-
本地,但根据railsenvy.com/2007/3/20/… 上的指示,我应该能够配置缓存工作。我认为问题在于 environment.rb 中的行: config.action_controller.page_cache_directory = RAILS_ROOT + "/public/cache/" 这告诉 ror 在哪里成功存储缓存但 ror 没有成功读取它。我把上面那行去掉了,现在已经成功读写缓存页面了……
标签: ruby-on-rails caching