Rails应用程序在子目录中

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

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

但是,它似乎已在最新的Rails中删除。 关于Rails 2.3.8中的等价物的任何想法?

对于Rails 4/5,您可以在application.rbproduction.rb

 config.relative_url_root = "/app1" 

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

 RAILS_RELATIVE_URL_ROOT='/app1' 

但是,我发现这只是资产路径的前缀。 url帮助程序创建的URL路径不遵循此设置。

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

这应该是修复它,但我没有发现情况: https : //github.com/rails/rails/pull/18775/files

该function的文档不清楚它应该如何工作:

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

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

这个答案可能也有帮助:
在Apache下的子目录中配置Rails 4应用程序以进行生产

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

 config.action_controller.relative_url_root = '/rails_app' 

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