2010-04-12 47 views
3

我有一個控制器項目在我的Rails應用程序使用。Rails的caches_page:指數在錯誤的位置

Web服務器(當前爲Mongrel)在*.html文件之前查找*/目錄。所以http://…/projects請求通過Rails進行路由,並且我的索引緩存文件從不提供服務。

如何告知caches_page :index生成文件/public/projects/index.html而不是?

+0

route.rb文件中的根路由是什麼?還有其他的事情,如果它沒有命名緩存文件index.html – naven87 2010-04-16 05:28:04

+0

我的根路線是: 'map.root:controller =>'static',:action =>'home'' 我的項目路線是: 'map.resources:projects' – Andy 2010-05-02 10:28:19

回答

0

您可以通過添加指定的目錄下,以您的environment.rb配置塊

config.cache_store = :file_store, "#{RAILS_ROOT}/public/projects" 

一對夫婦的其他東西:

  1. 緩存設置已經改變了一些 的不同版本的軌跡, 這將有助於知道什麼 版本您正在運行

  2. 一般來說,你可能最好使用緩存內存而不是文件存儲(如果你的盒子裏有足夠的內存)。

+0

我正在使用Rails 2.3.5。我可能會提供memcaching,但內存可能會很緊張,我相信Apache能夠有效地爲我的小型低流量站點提供服務。但是,我並沒有試圖改變緩存根,只是索引操作的緩存行爲。 – Andy 2010-05-02 10:52:24