Tag: url

如何在Ruby on Rails中获取当前的绝对URL?

如何在我的Ruby on Rails视图中获取当前的绝对URL? 该request.request_uri只返回相对URL。  答案 对于Rails 3.2或Rails 4+ 您应该使用request.original_url获取当前的URL。 这个方法记录在original_url方法中,但如果你好奇,实现是: def original_url base_url + original_fullpath end 对于Rails 3: 你可以写"#{request.protocol}#{request.host_with_port}#{request.fullpath}",因为request.url现在已被弃用。 对于Rails 2: 你可以写request.url而不是request.request_uri。这将协议(通常为http://)与主机相结合,request_uri为您提供完整的地址。 我认为现在是Ruby on Rails 3.0方法request.fullpath。 你可以使用 url_for(:only_path => false) 弃权警告:不推荐使用#request_uri。改为使用完整路径。 如果您使用的是Rails 3.2或Rails 4,您应该使用request.original_url获取当前的URL。 该方法的文档位于http://api.rubyonrails.org/classes/ActionDispatch/Request.html#method-i-original_url,但如果您好奇的话,实现方法是: def original_url base_url + original_fullpath end 您可以在ApplicationController中添加此current_url方法以返回当前URL并允许在其他参数中合并 # https://x.com/y/1?page=1 # + current_url( :page => 3 ) # = https://x.com/y/1?page=3 def current_url(overwrite={})