Haml没有Rails - unescape字符串

时间:2013-10-05 09:27:08

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

我在Rails之外使用Haml并且需要打印出未转义的字符串:

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

变为

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

但我想要

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

rawhtml_safe未在Rails之外定义,我尝试将它们混合在一起,但最终结果是相同的。 也许我错过了一些明显的东西......

2 个答案:

答案 0 :(得分:1)

您需要将escape_attrs option设置为false。

在命令行中,您可以使用类似

的内容
$ haml --no-escape-attrs my_file.haml

或者来自Ruby之类的东西:

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

答案 1 :(得分:0)

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

似乎你必须做一些 hackish

我只能考虑在HTML中编写特定部分并将其放在:plain块中。