如果我在URL中,比如
http://domain.example/mysite/bla
如何请求没有路径的URL ?如
http://domain.example
你可以使用
<%= request.protocol + request.host_with_port %>
#=> https://domain.example:3000
<%= request.protocol + request.host %>
#=> https://domain.example
从Rails 3.2开始,你也可以使用
<%= request.base_url %>
#=> https://domain.example:3000
request.host
应该可以做到这一点,或者:
request.port.blank? ? request.host : "#{request.host}: #{request.port}"
试试这个
<%=request.scheme + '://' + request.host_with_port%>
如果你想看到请求对象上所有可用的方法,那么
<%=request.methods.sort%>
对于协议、域和端口
<%= "#{request.protocol + request.host}:#{request.port.to_s}" %>
如何获取当前域名
域名request.base_url
# prod: https://example.com
# dev: https://localhost:8000
获取完整路径
request.original_url
# prod: https://example.com/path/
# dev: https://localhost:8000/path/
如果您的端口不是80,则应该包含它。
"#{request.protocol}#{request.host_with_port}"
我认为这也可以是有用的,如果你不是在一个控制器
URI.join(url_for(only_path: false), '/').to_s