HAML - >骨干模板,转义HTML参数(HAML -> Backbone Templat

2019-09-16 23:24发布

我使用HAML产生的Backbone.js的应用程序模板。 我需要能够插入<%= blah %>作为一个HTML属性一拉:

%a{:href => "myresources/<% id %>"} My Resource

并将其输出

<a href='myresources/<%= id %>' >My Resource</a>

在HTML模板。 不幸的是,HAML逃脱HTML参数离开我

<a href='#myresources/&lt;%= id %&gt;'>My Resource</a>

按照HAML参考的“!” 运营商可用于转义字符串,而不是HTML属性中。

另外,我会用纯文本来渲染锚标记,但由于锚标记是这个特定视图的根,我失去了所有的使用HAML的好处。

任何帮助吗?

更新我没有提到,但我使用LiveReload实际看我的文件系统和运行HAML编译器,并有在LiveReload禁用HTML逃脱在标签属性的设置。 <头巴掌>如果别人运行到这个问题LiveReload之外,还可以设置:escape_attrs配置您的HAML设置当选项设置为false。

Answer 1:

您可以配置HAML不逃避使用标签属性escape_attrs在HAML配置选项。 见HAML选项 。



Answer 2:

您可以尝试使用html_safe这是对String对象的方法。 这将难逃在变量声明的HTML字符(<为例)和将离开完好下划线在运行时进行评估:

%a{:href => "myresources/<% id %>".html_safe} My Resource

上找到答案插值里面的html与Underscore.js属性



文章来源: HAML -> Backbone Template, Unescaping HTML Parameters