How can I get the current absolute URL in my Ruby on Rails view?
The request.request_uri
only returns the relative URL.
rubyruby-on-railsurl
How can I get the current absolute URL in my Ruby on Rails view?
The request.request_uri
only returns the relative URL.
Best Answer
For Rails 3.2 or Rails 4+
You should use
request.original_url
to get the current URL. Source code on current repo found here.This method is documented at original_url method, but if you're curious, the implementation is:
For Rails 3:
You can write
"#{request.protocol}#{request.host_with_port}#{request.fullpath}"
, sincerequest.url
is now deprecated.For Rails 2:
You can write
request.url
instead ofrequest.request_uri
. This combines the protocol (usually http://) with the host, and request_uri to give you the full address.