Si estoy en una vista RHTML en Rails, es fácil de URL de escape de algo:¿Cómo puedo escapar una URL de una cadena en Rails?
<a href="/redirect?href=<%=u target %>">Foo</a>
¿Cómo puedo hacer esto en una cadena? Me gustaría hacer algo como esto:
<% redirect_href = "/redirect?#{url_escape target}&foo=bar&baz=some_other_stuff" -%>
<a href="<%= redirect_href =>">Foo</a>
Esto debe ser trivial, ¿verdad?
enlace se ha roto; rubybrain se ha ido – Lambart
El enlace a CGI.escape está arreglado ahora –
'CGI.escape' no es lo mejor, ya que codifica el espacio como '+' que está en desuso y no siempre analiza correctamente en el otro lado. Por ejemplo, si tiene la ruta Rails "/ my-path /: query" donde query incluye '+', se mantendrá como '+' después del análisis de ruta. Para que funcione mejor, use 'ERB :: Util.u (cadena)', que escapa espacio como "% 20". –