【问题标题】:A html string is escaped in haml filehtml 字符串在 haml 文件中转义
【发布时间】:2011-06-09 01:34:25
【问题描述】:
#test
  - html = "<a href='http://www.a.com'>Test</a>"
  = html

输出是

<div id='test'>
  &lt;a href='http://www.a.com'&gt;Test&lt;/a&gt;
</div>

但我想要一个输出:

<div id='test'>
  <a href='http://www.a.com'>Test</a>
</div>

谁有解决方案?谢谢。

【问题讨论】:

    标签: ruby-on-rails haml


    【解决方案1】:
    = raw html
    

    或:

    = html.html_safe
    

    【讨论】:

    • html_safe 仅适用于字符串,这就是我更喜欢!= 的原因(请参阅下面@james-chen 的答案或raw
    • = raw html= html.html_safe!= html 之间是否存在显着差异? 编辑: This question covers some differences.
    【解决方案2】:

    haml 还提供了与 rails 3 的 raw 方法等效的标记:!=,例如:

    != html

    【讨论】:

      【解决方案3】:

      rails 3 中发生了变化,现在所有内容都默认为 html 转义。有关详细信息,请参阅来自 Yehuda Katz 的this blog post

      为了直接打印 html,您需要在变量上使用 html_safe:

      #content
       .title
         %h1= @title
         = @content.html_safe
      

      如需更复杂的示例,请参阅this answer 的类似问题。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-05-27
        • 2011-11-24
        • 1970-01-01
        • 2020-02-24
        • 1970-01-01
        • 1970-01-01
        • 2019-10-18
        相关资源
        最近更新 更多