2010-11-03 17 views
9

Estoy convirtiendo mi aplicación Rails2 grasa para ejecutar en Rails3. Después de una pelea larga e intensa con un ejército de errores y mis jefes gritan, la página se representa como una cadena html escapada. Entonces todos los divs, imágenes, etc. están escritos literalmente para el usuario.Rails 3 html no deseado que escapa

Por alguna razón esta llamada de un parcial renders una cadena escapada

<%= render :partial => 'something_really_interesting' %> 

Como todas las aplicaciones Ruby on Rails esta instrucción no se llama mucho! Entonces, ¿cómo manejaría todas estas llamadas para no renderizar normalmente no como una cadena escapada?

Respuesta

18

Use <%= raw bla %> dentro del archivo parcial.

Rails 3 hace automáticamente todo lo seguro. Debe poner raw para escapar del comportamiento. Eso también significa que no tiene que usar el método h() para hacer que su cuerda de seguridad sea más segura.

+0

+1 para la información útil –

+0

Esto me ayudó, gracias. En mi caso, represento el parcial directamente desde otra plantilla, y también desde un ayudante al que llama una plantilla diferente. Además, mi parcial es un formulario, por lo que no quería llamar en bruto para cada salida de cadena. ¡Funciona! – Docunext

Cuestiones relacionadas