如何在Ruby on Rails中使用原始HTML显示内容

ikfrs5lh  于 2023-08-04  发布在  Ruby
关注(0)|答案(4)|浏览(109)

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

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

nfzehxib

nfzehxib1#

假设是Rails 3,使用raw helper方法,例如
第一个月
在所有视图模板中,转义HTML输出在默认情况下都是打开的(与早期版本不同,在早期版本中,您必须使用h方法来分别转义字符串。)

ryoqjall

ryoqjall2#

您是否使用Rails 3?它会自动转义<%= %>标记的所有内容。若要避免,请执行

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

字符串

kpbwa7wx

kpbwa7wx3#

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

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

字符串
你就会得到你想要的。

vsikbqxv

vsikbqxv4#

Quick,Easy,& to the Point

<%== @post.body %>

字符串

更多信息

<%== @post.body ==><%= raw(@post.body) ==>的别名
https://edgeguides.rubyonrails.org/active_support_core_extensions.html#output-safety

相关问题