Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 在Rails中,如何获取当前url(但没有路径)_Ruby On Rails_Ruby_Ruby On Rails 3 - Fatal编程技术网

Ruby on rails 在Rails中,如何获取当前url(但没有路径)

Ruby on rails 在Rails中,如何获取当前url(但没有路径),ruby-on-rails,ruby,ruby-on-rails-3,Ruby On Rails,Ruby,Ruby On Rails 3,如果我在URL中,例如 http://domain.com/mysite/bla 如何只请求没有路径的URL?比如 http://domain.com 请求。主机应执行此操作,或者: request.port.blank? ? request.host : "#{request.host}: #{request.port}" 如果您还需要包括端口。试试这个 <%=request.scheme + '://' + request.host_with_port%> 若要查看

如果我在URL中,例如

http://domain.com/mysite/bla
如何只请求没有路径的URL?比如

http://domain.com 

请求。主机
应执行此操作,或者:

request.port.blank? ? request.host : "#{request.host}: #{request.port}"
如果您还需要包括端口。

试试这个

<%=request.scheme + '://' + request.host_with_port%>

若要查看请求对象上的所有可用方法,则

<%=request.methods.sort%>

您可以使用此

<%= request.protocol + request.host_with_port %>
#=> https://domain.com:3000
<%= request.protocol + request.host %>
#=> https://domain.com

#=> https://domain.com:3000
#=> https://domain.com
从Rails 3.2开始,您还可以使用

<%= request.base_url %>
#=> https://domain.com:3000

#=> https://domain.com:3000

用于协议、域和端口

<%= "#{request.protocol + request.host}:#{request.port.to_s}" %>

如果您的端口可以是80以外的任何端口,则应将其包括在内

"#{request.protocol}#{request.host_with_port}"

如果你不在控制器中,我认为这也很有用

URI.join(url_for(only_path: false), '/').to_s 

完全重复:它不是重复的,因为作者只想返回带有主机的协议,而不是完整的URL。您应该接受@fl00r的答案,这是最好的答案。如果指定了
request.port.blank?request.host:“#{request.host}:#{request.port}”
如果您需要更多信息检查,请补充