Is there an equivalent to PHP’s urlencode in Ruby on Rails 2.3.5? (It encodes a string to be used in a query part of a URL)
I googled it but all the answers seem to date back to before 2006 and seems dates.
This is what I found. It seems a bit abnormal to call
CGI::escape in a view.
Is there an equivalent helper function?
I believe the
u helper method is what you’re looking for:
<%=u "URL ENCODE <p>ME</p>" %>
I can’t seem to find the documentation for that method, but if I find it in the near future I’ll be sure to put a link in here.
Edit: You can find the documentation for this method here.
If you want to do it without ERB, you can use the following:
Rack::Utils.escape('http://example.com') #=> "http%3A%2F%2Fexample.com"
This worked better for me than the
Because it replaced the spaces with
%20 instead of
ERB::Util.html_escape, which is aliased to
ERB::Util.url_encode, which is aliased to
The method names seem to have changed since Sam Soffes answer, but the aliases haven’t.