Existe-t-il un équivalent du code url de PHP dans Ruby on Rails 2.3.5? (Il code une chaîne à utiliser dans une partie requête d'une URL)) I googlé mais toutes les réponses semblent remonter à avant 2006 et semblent des dates. C'est ce que j'ai trouvé . Il semble un peu anormal d'appeler CGI::escape
dans une vue.
Existe-t-il une fonction d'assistance équivalente?
Merci!
Je crois que la méthode d'assistance u
est ce que vous recherchez:
<%=u "URL ENCODE <p>ME</p>" %>
Je n'arrive pas à trouver la documentation de cette méthode, mais si je la trouve dans un proche avenir, je suis sûr de mettre un lien ici.
Edit: Vous pouvez trouver la documentation de cette méthode ici .
Si vous voulez le faire sans ERB, vous pouvez utiliser ce qui suit:
Rack::Utils.escape('http://example.com')
#=> "http%3A%2F%2Fexample.com"
Cela a mieux fonctionné pour moi que le Rack::Utils.escape
:
URI::escape('http://example.com/?param=Hello World')
Parce qu'il a remplacé les espaces par %20
au lieu de +
ERB::Util.html_escape
, qui a pour alias h
et ERB::Util.url_encode
, qui a pour alias u
.
http://Ruby-doc.org/stdlib-1.9.3/libdoc/erb/rdoc/ERB/Util.html
Les noms de méthode semblent avoir changé depuis la réponse de Sam Soffes, mais pas les alias.