2010-10-21 44 views
1

我运行的Rails 3和乘客2,我不知道为什么,但我的页面仍然是尽管有(在我的虚拟主机之一)这样的配置缓存:防止使用Rails页面缓存和乘客的开发环境

<VirtualHost *:80> 
    ServerName railstut.dev 
    ServerAlias *.railstut.dev 
    DocumentRoot "/home/ygamretuta/dev/railstut/public/" 
    RailsEnv "development" 

    <Directory "/home/ygamretuta/dev/railstut/"> 
     AllowOverride all 
     Options -MultiViews 
    </Directory> 
</VirtualHost> 

我在Firefox中禁用了浏览器缓存(通过web开发者插件)来试用它,所以我不认为浏览器缓存有问题。我总是需要重新启动服务器才能看到所做的更改(即使进行了一些小的更改(如更换文本))。

可能是什么问题?

编辑 尽管存在RailsEnv配置选项,但乘客似乎将生产环境设置为生产。

编辑 乘客在生产环境中运行,如我在访问数据库的某些页面上看到的那样。它查找database.yml文件中生产部分中配置的数据库名称。

+0

虽然“发展”工作正常,我在当地这是值得一试,试图发展不带引号。你还运行哪个版本的乘客2?你可以尝试升级到最新版本的乘客2(或3个) – Maran 2010-10-21 07:06:53

+0

最新版本的2.x系列,上周刚刚安装。我也尝试了没有引号的“开发”......无济于事:( – yretuta 2010-10-21 08:26:05

+0

奇怪的是,当我使用与Rails打包的服务器时,当我在rails控制台中输入Rails.env时得到“开发” – yretuta 2010-10-21 08:27:07

回答

0

如果您有现有的文件缓存页面缓存条目,即使重新启动后,它们也会取代动态请求。如果您曾经使用文件存储进行缓存,则应清除您的tmp或缓存目录。

+0

将研究这一点,但是你知道我怎么能强制Passenger将rails环境看作是开发吗?因为当我转到一些从DB获取数据的页面时,它会使用上述配置从生产数据库服务器获取数据 – yretuta 2010-10-21 06:05:15