【发布时间】:2011-01-25 18:42:58
【问题描述】:
我有几个在自己的 Rails/Rack BaseURI 下运行的 rails 3 应用程序。
在 Passenger 2 下,我使用 RailsBaseURI 在单个域下“挂载”单个 Rails 应用程序;这工作正常。我升级到Passenger 3.0.2,现在当我在开发模式下运行时,我的Rails 3 应用程序想要预先和附加baseURI,但只能在开发环境中。在生产中,一切都很好。
例如:
应用程序位于 /fsroot/otherdir/myapp 目标文件位于 /fsroot/otherdir/myapp/public/path/to/asset.css
在虚拟主机配置中: RackBaseURI /myapp
注意:虚拟主机 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 向导指导。
【问题讨论】:
标签: ruby-on-rails-3 apache2 passenger