2010-07-28 50 views
12

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

谷歌的快速扫描促使我使用:的ActionController :: AbstractRequest.relative_url_root =“/ rails_app”

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

+0

你需要做的第一件事就是配置您的WordPress托管的Web服务器指挥你的“子”的网址为Rails应用程序服务器。对此的回答取决于您正在运行的服务器以及您如何部署它们。请提供更多关于您的环境的细节 – bjg 2010-07-28 17:04:51

+0

啊,注意。它已经配置好了。 www.nonsense.com/正确地导致我的功能WP安装。 www.nonsense.com/rails_app导致我的Rails应用程序,但我得到一个“这个页面不存在”的错误。当应用程序位于根目录时,只有在子目录中时才会发生这种情况,所以我认为它必须处理relative_url_root。 – mebFace 2010-07-29 01:48:56

回答

7

对于Rails的4/5,可以设置这application.rbproduction.rb

config.relative_url_root = "/app1" 

或简单地设置此环境变量:

RAILS_RELATIVE_URL_ROOT='/app1' 

但是,我发现这只是前缀到资产的路径。由URL帮助者创建的URL路径不尊重此设置。

事实证明,还有与此相关的一个错误: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

+0

我遇到了同样的问题,'RAILS_RELATIVE_URL_ROOT'似乎仍然被破坏。 – 2015-08-25 01:36:52

相关问题