尝试在子目录中设置 Rails 应用程序。我的服务器是切诺基。我有一个基本网址: 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.rb
或 production.rb
中设置:
config.relative_url_root = "/app1"
或者简单地设置这个环境变量:
RAILS_RELATIVE_URL_ROOT='/app1'
但是,我发现这只是 Assets 路径的前缀。由 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
关于ruby-on-rails - 子目录中的 Rails 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3355319/