我正在使用 HAML 为 Backbone.js 应用程序生成模板。我需要能够<%= blah %>
作为 html 属性插入:
%a{:href => "myresources/<% id %>"} My Resource
并让它输出
<a href='myresources/<%= id %>' >My Resource</a>
在 html 模板中。不幸的是,HAML 转义了 html 参数,让我留下了
<a href='#myresources/<%= id %>'>My Resource</a>
根据HAML Reference的“!” 运算符可用于对字符串进行转义,但不能在 HTML 属性中使用。
此外,我会使用纯文本来呈现锚标记,但由于锚标记是此特定视图的根,我失去了使用 HAML 的所有好处。
有什么帮助吗?
更新
我没有提到,但我使用 LiveReload 来实际监视我的文件系统并运行 haml 编译器,并且 LiveReload 中有一个设置可以禁用标签属性中的 HTML 转义。<head slap> 如果其他人在 LiveReload 之外遇到此问题,您还可以:escape_attrs
在配置 HAML 设置时将该选项设置为 false。