2016-07-03 80 views
0

我正在創建rails應用程序,我需要從我的Rails控制器中獲取URL的主機名。在rails上獲取URL的主機名

如果我的網址是http://www.example.com/path/0,那麼我只想提取www.example.com部分。我怎樣才能做到這一點?我發現request.base_url,但這返回http://www.example.com,我不想要。

在javascript中有一個函數,window.location.hostname。我不知道Ruby on Rails中有一個等價物。

+0

http://stackoverflow.com/questions/8855236/given-a-url我怎麼能得到只是域 – Penguin

回答

1

你可以使用request.host來確定你想要的URL。

你也可以使用request.port從URL

+1

還有一個問題。有沒有辦法訪問外部方法但在控制器內的主機名? – JoHksi

0

URI模塊能爲你做這讓你的端口。

uri = URI("http://www.example.com/path/0") 
uri.host # => "www.example.com" 
1

我使用Rails 4.2

我們可以得到主機和端口與一個方法

request.host_with_port 
=> "localhost:3002"