如何用原始html显示内容

pie*_*fou 23 html ruby markdown ruby-on-rails

@post.body有以下内容(使用RDiscount从Markdown转换).如何将其呈现给用户的意思是什么?即我想将其渲染为强烈文本 强调文本 ...

<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> 
Run Code Online (Sandbox Code Playgroud)

使用<%= @post.body =>只会将其显示为上面显示的文本.

mik*_*kej 53

假设Rails 3,使用原始助手方法,例如

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

默认情况下,在所有视图模板中都会启用转义HTML输出(与必须使用该h方法单独转义字符串的早期版本相比.)


ale*_*dev 5

你在使用rails 3吗?它会自动转义<%= %>标签的所有内容.为了避免它,做

<%= raw(@post.body) %>
Run Code Online (Sandbox Code Playgroud)


Jai*_*yer 5

我认为你在Rails 3中?一个很大的变化是显示的文本默认是原始的,你必须自己清理它.现在是另一种方式.像这样称呼它:

<%= raw(@post.body) %>
Run Code Online (Sandbox Code Playgroud)

你会得到你想要的东西.