问题

如何在我的Ruby on Rails视图中获取当前的绝对网址?

request.request_uri 只返回相对网址.



解决方法

For Rails 3.2 or Rails 4+

您应该使用 request.original_url 获取当前网址.

此方法记录在 http://api.rubyonrails .org / classes / ActionDispatch / Request.html#method-i-original_url ,但如果您好奇,实施方式为:

def original_url
  base_url + original_fullpath
end

For Rails 3:

您可以写"#{request.protocol}#{request.host_with_port}#{request.fullpath}",因为 request.url 现已弃用.< / p>


For Rails 2:

您可以写 request.url 而不是 request.request_uri .这将协议(通常为http://)与主机相结合,并将request_uri与您的完整地址相结合.




相关问题推荐