尝试在子目录中设置Rails应用程序。我的服务器是切诺基。我有一个基本网址: www.nonsense.com,这是一个wordpress博客,我希望在www.nonsense.com/rails_app中设置一个rails应用程序。
快速浏览谷歌让我使用:ActionController :: AbstractRequest.relative_url_root =“/ rails_app”
然而,在最新的Rails中似乎已经删除了它。关于Rails 2.3.8中等效的任何想法?
答案 0 :(得分:9)
对于Rails 4/5,您可以在application.rb
或production.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'