Rails Caches_Page因命名空间而错位

时间:2009-12-22 00:47:31

标签: ruby-on-rails caching

我在命名空间中有一个控制器,并希望缓存它的索引。我成功地缓存了不在命名空间下的页面,并成功缓存了片段。

当我访问http //.../ house / kitchen时,它成功创建了/public/house/kitchen.html。但是它永远找不到它,所以它总是在缓存文件上写。

我无法找到cache_page或caches_page的选项来帮助我将缓存文件定位到正确的位置。

另一个令人沮丧的事情是http //.../ house / kitchen / table成功读取并创建了/public/houose/kitchen/table/new.html。

我非常感谢任何方向!

修改:添加详细信息
Ruby:1.8.7
导轨:2.3.5
服务器:Mongrel

编辑:我已将kitchen.html放在公共文件夹中的每个可能位置,此控制器似乎只是拒绝阅读它。

3 个答案:

答案 0 :(得分:0)

我的建议是不使用命名空间,任何你想要做的关于网址的事情都可以通过路由来完成。您有必要使用命名空间控制器吗?

答案 1 :(得分:0)

我不确定它是否相关,但我发现前一段时间有一个issue与goldspike网络服务器。
所以也许你的网络服务器也缺少一些东西(BTW,你使用的是什么网络服务器)?

答案 2 :(得分:0)

我想我遇到了同样的问题。如果是这样,我知道原因,但尚未找到解决方案。

Web服务器在找到文件http://…/house/kitchen/之前找到目录http://…/house/kitchen.html。此目录不包含index.html,因此它将路由传递给Rails,从而生成新文件。

所以,你可以:

  1. 将您的缓存文件放在http://…/house/kitchen/index.html

  2. 告诉您的网络服务器在查找*.html目录之前查找*/个文件。