【发布时间】:2012-05-11 09:25:06
【问题描述】:
我正在使用 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 转义。
如果其他人在 LiveReload 之外遇到此问题,您还可以在配置 HAML 设置时将:escape_attrs 选项设置为 false。
【问题讨论】:
-
我没有使用 Rails,只有 HAML,所以这里没有可用的 html_safe 方法。
标签: ruby backbone.js haml