Rails 对 div 标签进行编码。 如果我在 Rails 2 中是正确的 Hello Worl-6ren">
gpt4 book ai didi

ruby-on-rails - 在 Rails 3 View 中转义 Html

转载 作者:行者123 更新时间:2023-12-04 01:48:01 26 4
gpt4 key购买 nike

我正在使用 Rails 3。我想在 erb 模板中显示生成的 html 片段

<%= "<div>Foo Bar</div>" %>

Rails 对 div 标签进行编码。

如果我在 Rails 2 中是正确的 <%=h导致 html 转义。好像是在 Rails 3 里改了。Rails 3 怎么能不编码就插入 html 片段?

问候,
阿列克谢。

最佳答案

我假设通过编码你的意思是 html 转义:

要在 Rails 3 中输出原始 html,您可以使用三种不同的方法。

  • 您可以使用 raw输出原始html的助手
    <% some_string = "<div>Hello World!</div>" %>
    <%= some_string %>
    <!-- outputs: &lt;div&gt;Hello Worlds!&lt;/div&gt; -->
    <%=raw some_string %>
    <!-- outputs: <div>Hello Worlds!</div> -->

    更多信息:ActionView::Helpers::OutputSafetyHelper#raw
  • 您可以将字符串标记为 html_safe
    <% some_string = "<div>Hello World!</div>".html_safe %>
    <%= some_string %>
    <!-- outputs: <div>Hello World!</div> -->

    更多信息:String#html_safeActiveSupport::SafeBuffer#new
  • 您可以使用 sanitize 清理您的输出
    <%=sanitize "<div>Hello World!</div>", tags: %w( div ) %>

    更多信息:ActionView::Helpers::SanitizeHelper#sanitze

  • 更多信息:
  • SafeBuffers and Rails 3.0
  • Railscast #204: XSS Protection in Rails 3
  • 关于ruby-on-rails - 在 Rails 3 View 中转义 Html,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3573851/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com