2010-10-29 17 views
21

@post.body tiene el siguiente contenido (que se convierte de Markdown utilizando RDiscount). ¿Cómo debo representarlo al usuario en lo que significa? es decir que quiero para que sea tan fuerte textotexto enfatizado ...cómo mostrar contenido con html sin formato

<p><strong>strong text</strong> </p> <p><em>emphasized text</em> </p> <blockquote> <p>this is a quote</p> </blockquote><p><img src="http://www.picturehouse.com/titles/images/rock.jpg" alt="alt text" title="" /> </p> 

Usando <%= @post.body => sólo mostrará como el texto se muestra más arriba.

Respuesta

52

Suponiendo Rails 3, utilice el método raw ayudante, por ejemplo,

<%= raw(@post.body) %> salida

Escapar HTML está activado de forma predeterminada en todas las plantillas de vista (en contraste con las versiones anteriores, donde se tenía que utilizar el método h para escapar de las cadenas de forma individual.)

+0

Tema antiguo, pero ¿cómo se puede limitar qué etiquetas se muestran? Ex bloque

5

¿Está utilizando los rieles 3? Se escapa automáticamente todo el contenido de las etiquetas <%= %>. Para evitarlo,

<%= raw(@post.body) %> 
5

lo tomo eres en Rails 3? Un gran cambio es que el texto mostrado solía estar en bruto por defecto, y usted tenía que desinfectarlo usted mismo. Ahora es al revés. Llámalo así:

<%= raw(@post.body) %> 

Y obtendrás lo que estás buscando.

Cuestiones relacionadas