我有几个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向导指导表示赞赏。
答案 0 :(得分:0)
虽然我不确定,但这可能有所帮助:
如果你将Rails 3与Passenger 3一起使用,则用RackBaseURI替换RailsBaseURI
源: http://wiki.railsplayground.com/railsplayground/show/How+To+use+Phusion+Passenger