text_field tag rails form_with form_for form fields_for ruby-on-rails-3 escaping erb

ruby on rails 3 - tag - Deshabilitar escapes de HTML en plantillas erb



form_with ruby on rails (3)

Intenta usar raw(somePost.content) . Alternativamente, somePost.content.html_safe .

En una aplicación Rails 3 tengo una clase de dominio donde un atributo almacena contenido HTML puro (es una aplicación de blog, la clase de dominio es Post).

En las plantillas de ERB, necesito mostrar el contenido del atributo tal como se formó, con las etiquetas HTML en su lugar. ¡Pero, Rails está escapando todas las etiquetas HTML! ¿Cómo puedo desactivar este comportamiento para este atributo de clase?

Ejemplo:

somePost = Post.new somePost.content = "<strong> Hi, i''m here! </strong>"

En la plantilla erb:

<%= somePost.content %>

El HTML generado se escapó:

&lt;strong&gt; Hi, i''m here! &lt;/strong&gt;



Use raw(string) , como se describe en las notas de la versión .

7.4.3 Otros cambios

Ya no es necesario llamar a h (cadena) para escapar de la salida HTML, está activado por defecto en todas las plantillas de visualización. Si quieres la cadena no escamada, llama raw (cadena).

Básicamente, donde lo hiciste

<%=h @model.attr %>

antes de que puedas usar ahora

<%= @model.attr %>

y donde lo hiciste antes de poder usar ahora

<%=raw @model.attr %>