Thursday, August 8, 2019

How do I get the current absolute URL in Ruby on Rails?



How can I get the current absolute URL in my Ruby on Rails view?



The request.request_uri only returns the relative URL.


Answer



For Rails 3.2 or Rails 4+




You should use request.original_url to get the current URL.



This method is documented at original_url method, but if you're curious, the implementation is:



def original_url
base_url + original_fullpath
end






For Rails 3:



You can write "#{request.protocol}#{request.host_with_port}#{request.fullpath}", since request.url is now deprecated.






For Rails 2:



You can write request.url instead of request.request_uri. This combines the protocol (usually http://) with the host, and request_uri to give you the full address.



No comments:

Post a Comment

hard drive - Leaving bad sectors in unformatted partition?

Laptop was acting really weird, and copy and seek times were really slow, so I decided to scan the hard drive surface. I have a couple hundr...