我在 Rails 之外使用 Haml,需要打印出未转义的字符串:
%div{ foo: '<?php echo "bar" %>' }
变成
<div foo='<?php echo "bar" %>'></div>
但我想要
<div foo='<?php echo "bar" %>'></div>
raw并且html_safe没有在 Rails 之外定义,我尝试要求它们并将它们混合,但最终结果是相同的。也许我在这里遗漏了一些明显的东西......
我在 Rails 之外使用 Haml,需要打印出未转义的字符串:
%div{ foo: '<?php echo "bar" %>' }
变成
<div foo='<?php echo "bar" %>'></div>
但我想要
<div foo='<?php echo "bar" %>'></div>
raw并且html_safe没有在 Rails 之外定义,我尝试要求它们并将它们混合,但最终结果是相同的。也许我在这里遗漏了一些明显的东西......
您需要将escape_attrs选项设置为 false。
从命令行你可以使用类似的东西
$ haml --no-escape-attrs my_file.haml
或来自 Ruby 之类的:
Haml::Engine.new(my_template, :escape_attrs => false).to_html
好吧,据我了解,没有简单的方法可以做到这一点。参考:https ://groups.google.com/forum/#!topic/haml/RScABe1Txh8
似乎你将不得不做一些骇人听闻的事情。
我只能考虑用 HTML 编写特定部分并将其放在:plain块中。