estoy usando el siguiente conjunto de código en mis dos puntos de vista y el gestor de correo:Rails 3: La entrada del usuario escapar trabajar de manera diferente en las vistas y anuncio publicitario
<%= simple_format(auto_link(h(user_input))) %>
comienzo llamando html_safe (h) en el user_input , para escapar de cualquier código peligroso. Luego llamo auto_link para habilitar cualquier enlace en su entrada, y luego llamo a simple_format para habilitar saltos de línea y demás.
Esto funciona perfectamente en mi opinión, y debidamente muestra la siguiente, totalmente escapado, pero con un vínculo de trabajo:
" http://google.com "
Sin embargo, cuando la misma exacta aparece en un correo electrónico ActionMailer, estoy viendo todos los caracteres especiales, incluyendo mi autolink, doblemente escapado (el &quot;
, por ejemplo, no se muestra correctamente como resultado):
&quot; <a href=3D"http://google.com">http://google.=com</a> &quot;
por alguna razón, tengo que volver a marcar como html_safe de nuevo para obtener funciona:
<%= simple_format(auto_link(h(user_input))).html_safe %>
Este
correctamente salidas:
" <a href=3D"http://google.com">http://google.com</a> "
¿Alguna idea sobre qué ActionView y ActionMailer tratan el mismo código de manera diferente?
@mu es demasiado corto Mi archivo de plantilla de correo electrónico se llama notify.html.erb –