在rails上的ruby中获取URL的主机名

时间:2016-07-03 06:12:27

标签: ruby-on-rails ruby

我正在制作rails应用程序,我需要从我的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中有一个等价物。

3 个答案:

答案 0 :(得分:2)

您可以使用request.host来准确获取所需的网址。

您可以使用request.port从网址

获取您的端口

答案 1 :(得分:1)

URI模块可以为您完成此操作。

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

答案 2 :(得分:1)

我正在使用Rails 4.2

我们可以通过一种方法获得主机和端口

request.host_with_port
=> "localhost:3002"