在Rails中,如何获取当前URL(但没有路径)

Mar*_*tin 45 ruby ruby-on-rails ruby-on-rails-3

如果我在一个URL如

http://domain.com/mysite/bla
Run Code Online (Sandbox Code Playgroud)

如何只请求没有路径的URL?如

http://domain.com 
Run Code Online (Sandbox Code Playgroud)

fl0*_*00r 91

你可以用它

<%= request.protocol + request.host_with_port %>
#=> https://domain.com:3000
<%= request.protocol + request.host %>
#=> https://domain.com
Run Code Online (Sandbox Code Playgroud)

从Rails 3.2开始,您也可以使用

<%= request.base_url %>
#=> https://domain.com:3000
Run Code Online (Sandbox Code Playgroud)


Pra*_*vin 5

request.host 应该可以解决问题,或者:

request.port.blank? ? request.host : "#{request.host}: #{request.port}"
Run Code Online (Sandbox Code Playgroud)

如果您也需要包含端口。