在erb模板中禁用HTML转义

在Rails 3应用程序中,我有一个域类,其中一个属性存储纯HTML内容(这是一个博客应用程序,域类是Post)。

在ERB模板中,我需要显示属性的内容,因为它已经形成了HTML标签。 但是,Rails正在逃避所有的HTML标签! 如何禁用此类属性的这种行为?

例:

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

在erb模板中:

 <%= somePost.content %> 

生成的HTML被转义:

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

尝试使用raw(somePost.content) 。 另外, somePost.content.html_safe

使用raw(string) ,如发行说明中所述 。

7.4.3其他变更

您不再需要调用h(string)来转义HTML输出,它在所有视图模板中默认处于打开状态。 如果您想要非转义的string,请调用raw(string)。

基本上,你在哪里

 <%=h @model.attr %> 

在你现在可以使用之前

 <%= @model.attr %> 

在你现在可以使用之前,你在哪里做

 <%=raw @model.attr %> 

使用双等于意味着结果不逃脱…

 <%== somePost.content %> 

看到这个关于它的问题 – 在轨erb中做什么<%==%>?