【问题标题】:how to display content with raw html如何使用原始 html 显示内容
【发布时间】:2010-10-29 14:43:15
【问题描述】:

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

使用&lt;%= @post.body =&gt; 只会将其显示为上面显示的文本。

【问题讨论】:

标签: html ruby-on-rails ruby markdown


【解决方案1】:

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

&lt;%= raw(@post.body) %&gt;

在所有视图模板中默认启用转义 HTML 输出(与之前的版本相比,您必须使用 h 方法单独转义字符串。)

【讨论】:

【解决方案2】:

您使用的是 Rails 3 吗?它会自动转义&lt;%= %&gt; 标签的所有内容。为了避免它,做

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

【讨论】:

    【解决方案3】:

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

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

    你会得到你想要的。

    【讨论】:

      【解决方案4】:

      快速、简单、重点

      <%== @post.body %>
      

      更多信息

      &lt;%== @post.body ==&gt;&lt;%= raw(@post.body) ==&gt; 的别名

      https://edgeguides.rubyonrails.org/active_support_core_extensions.html#output-safety

      【讨论】:

        猜你喜欢
        • 2011-02-07
        • 2011-03-02
        • 1970-01-01
        • 1970-01-01
        • 2021-12-17
        • 2011-04-07
        • 2013-05-22
        • 1970-01-01
        • 2021-11-16
        相关资源
        最近更新 更多