Apache的; Phusion Passenger 3 RackBaseURI仅适用于Rails 3的生产环境

时间:2011-01-25 18:42:59

标签: ruby-on-rails-3 apache2 passenger

我有几个rails 3应用程序在他们自己的Rails / Rack BaseURI下运行。

在Passenger 2下我使用RailsBaseURI在单个域下“挂载”单个rails应用程序;这工作正常。我升级到Passenger 3.0.2,现在当我在开发模式下运行时,我的Rails 3应用程序想要添加和追加baseURI,但仅限于开发环境。在生产中,一切都很好。

例如:

应用程序位于/ fsroot / otherdir / myapp中 目标文件位于/fsroot/otherdir/myapp/public/path/to/asset.css

在vhost配置中: RackBaseURI / myapp

注意:virtualhost DocumentRoot中的符号链接名为myapp,并指向/ fsroot / otherdir / myapp / public

在视图中: stylesheet_link_tag'/ path / to / asset.css'

将产生

没有这样的文件或目录 - 在'/fsroot/otherdir/myapp/public/myapp/path/to/asset.css'找不到资产文件

请注意,RackBaseURI显示在公用文件夹之前和之后。

我尝试将development.rb环境文件复制到production.rb并重新启动apache,但它做了同样的事情。显然有一些其他指令在每个环境中被假设,但我不知道它会是什么。我尝试使用RailsBaseURI和RackBaseURI,但两者表现完全相同。

Rails 3向导指导表示赞赏。

1 个答案:

答案 0 :(得分:0)

虽然我不确定,但这可能有所帮助:

  

如果你将Rails 3与Passenger 3一起使用,则用RackBaseURI替换RailsBaseURI

源: http://wiki.railsplayground.com/railsplayground/show/How+To+use+Phusion+Passenger