【问题标题】:Haml without Rails - unescape string没有 Rails 的 Haml - 转义字符串
【发布时间】:2013-10-05 09:27:08
【问题描述】:

我在 Rails 之外使用 Haml,需要打印一个未转义的字符串:

%div{ foo: '<?php echo "bar" %>' }

变成

<div foo='&lt;?php echo "bar" %&gt;'></div>

但我想要

<div foo='<?php echo "bar" %>'></div>

rawhtml_safe 没有在 Rails 之外定义,我尝试要求它们并将它们混合,但最终结果是相同的。 也许我在这里遗漏了一些明显的东西......

【问题讨论】:

  • 你要打印foo: '&lt;?php echo "bar" %&gt;''&lt;?php echo "bar" %&gt;'
  • 我澄清了我需要/期望什么。

标签: ruby-on-rails escaping haml html-escape-characters


【解决方案1】:

您需要将escape_attrs option 设置为false。

从命令行你可以使用类似的东西

$ haml --no-escape-attrs my_file.haml

或来自 Ruby 之类的:

Haml::Engine.new(my_template, :escape_attrs => false).to_html

【讨论】:

  • 天哪,我怎么会错过这个?谢谢!!
【解决方案2】:

据我所知,没有简单的方法可以做到这一点。参考:https://groups.google.com/forum/#!topic/haml/RScABe1Txh8

看来你得做点什么hackish

我只能想到用 HTML 编写特定部分并将其放入 :plain 块中。

【讨论】:

    猜你喜欢
    • 2011-06-09
    • 1970-01-01
    • 1970-01-01
    • 2020-10-18
    • 1970-01-01
    • 2013-09-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多