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



如果我在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 

相关内容

  • 没有找到相关文章

最新更新