转义/忽略 HAML 属性中的特殊字符

Gan*_*kar 4 javascript haml

我正在使用 HAML 制作 html 模板,但在编写将被 JavaScript 字符串模板替换的属性时遇到问题。

有问题的行如下所示:

%div{:class => "<%= from_class %>"}
Run Code Online (Sandbox Code Playgroud)

HAML 尝试对 <%= %> 标签进行编码:

<div class="&lt;%= from_class %&gt;">
Run Code Online (Sandbox Code Playgroud)

我不希望在这种情况下发生这种情况...有人知道该怎么做吗?

Nat*_*aum 5

在 Haml (3.1) 的下一版本中,:escape_attrs您将可以设置一个选项false来防止这种情况发生。您还可以传递--no-escape-attrs命令行。要立即使用它,您可以安装 alpha 版本gem install haml --prerelease

  • 对于需要此提示的新手(像我一样)可能有用:**1。将其添加到您的 Gemfile 中:** `gem 'haml', '&gt;=3.1.1'` - **2. 运行** `捆绑安装` - **3。将其添加到您的 `config/environment.rb` 文件中:** `Haml::Template.options[:escape_attrs] = false` - **4。最后重新启动服务器。**您还可以在[此处]找到此选项的文档(http://haml-lang.com/docs/yardoc/file.HAML_REFERENCE.html#escape_attrs-option) (3认同)