2012-05-21 55 views
3

我想知道是否有可能從一個初始化文件中獲取域名URL即如何讓初始化文件的域名網址,軌道

localhost or myapp.heroku.com 

我相信

request.url 

和請求方法只能在控制器工作。是否有一個等效的JavaScript

document.domain 

我可以在一個初始化文件中做?或者我可以嵌入JavaScript的.rb文件? 或請求對象的其他選擇?

香港專業教育學院嘗試了一些東西,不工作,如

Rails.root 

時遇到了問題想弄明白。

謝謝=)

+0

你能寫出你想達到什麼,所以我們可以建議一個替代解決方案嗎? – moritz

回答

2

我只是改變了我的應用程序中的一個登臺環境。我無法讓套接字工作。

heroku config:add RAILS_ENV=staging --app myapp-staging 
heroku config:add RACK_ENV=staging --app myapp-staging 

,然後我做了一個staging.rb文件在我的環境中的文件夾(我只是複製和粘貼一切從我的生產文件)和導軌能夠推斷方法

Rails.env.staging? 

在我的初始化

1

喜歡的東西:

require 'socket' 

Socket.gethostname 
+1

嗯當我嘗試,我得到一堆隨機數,如 45b636d4-2820-481b-bf44-d2546bb804fe – Sasha

0

您的應用程序只能在提供請求時確定其域名。 (因此它可用於request中的控制器。)在啓動器中執行一次的初始化器中,在發送任何請求之前,這是不可能的。 (除非您,維護者事先知道域並在配置中指定它,例如在環境變量中指定它。)

甚至有可能單個應用程序在多個域上運行。然後每個請求可能有不同的域。

相關問題