2010-10-29 52 views
21

@post.body具有以下内容(使用RDiscount从Markdown转换而来)。如何将它呈现给用户?即我要呈现为强大的文本强调使用<%= @post.body =>将只显示为上面显示的文本文字 ...如何使用原始html显示内容

<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> 

回答

52

假设导轨3,例如使用raw辅助方法

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

转义HTML输出是在所有的视图模板默认的(相对于早期版本,你必须使用h方法分别逃脱字符串。)

+0

旧线程,但如何限制显示的标签?例如:

5

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

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

我想你是在Rails 3中?一个很大的变化就是显示的文本默认是原始的,你必须自己清理它。现在是相反的。这样称呼:

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

而且你会得到你要找的。