2010-07-28 51 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

相關問題