Rails应用程序在子目录中

时间:2010-07-28 16:54:06

标签: ruby-on-rails ruby

尝试在子目录中设置Rails应用程序。我的服务器是切诺基。我有一个基本网址: www.nonsense.com,这是一个wordpress博客,我希望在www.nonsense.com/rails_app中设置一个rails应用程序。

快速浏览谷歌让我使用:ActionController :: AbstractRequest.relative_url_root =“/ rails_app”

然而,在最新的Rails中似乎已经删除了它。关于Rails 2.3.8中等效的任何想法?

2 个答案:

答案 0 :(得分:9)

对于Rails 4/5,您可以在application.rbproduction.rb中设置:

config.relative_url_root = "/app1"

或者只是设置此环境变量:

RAILS_RELATIVE_URL_ROOT='/app1'

但是,我发现这只是资产路径的前缀。网址助手创建的网址路径并不尊重此设置。

原来,有一个与此相关的错误:https://github.com/rails/rails/issues/5122

这应该已经解决了,但是我没有发现这种情况: https://github.com/rails/rails/pull/18775/files

此功能的文档并不清楚它应该如何工作:

http://edgeguides.rubyonrails.org/configuring.html#deploy-to-a-subdirectory-relative-url-root

也许尝试使用命名空间:
http://guides.rubyonrails.org/routing.html#controller-namespaces-and-routing

这个答案可能也有帮助:
Configuring a Rails 4 app for production in a subdirectory under Apache

答案 1 :(得分:7)

您想立即在环境文件中使用它:

config.action_controller.relative_url_root = '/rails_app'

来源:http://edgeguides.rubyonrails.org/configuring.html