2010-10-29 76 views
3

我使用HAML製作html模板,但在編寫將用JavaScript字符串模板替換的屬性時出現問題。轉義/忽略HAML屬性中的特殊字符

這行看起來是這樣的:

%div{:class => "<%= from_class %>"} 

HAML試圖編碼<%=%>標籤:

<div class="&lt;%= from_class %&gt;"> 

我不希望在這種情況下發生的。 .. 有人知道怎麼做嗎?

回答

4

在下一個版本的Haml(3.1)中,將會出現一個:escape_attrs選項,您可以將其設置爲false以防止出現這種情況。您也可以在命令行上通過--no-escape-attrs。要立即使用此版本,您可以安裝帶有gem install haml --prerelease的alpha版本。

+0

,完美的工作,謝謝! :) – 2010-11-01 00:54:56

+2

可能對需要此提示的新手(如我)有用:** 1。把它添加到你的Gemfile中:**'gem'haml','> = 3.1.1'' - ** 2。運行**'bundle install' - ** 3。添加到你的'config/environment.rb'文件中:** Haml :: Template.options [:escape_attrs] = false' - ** 4。最後重啓你的服務器。**你也可以在這裏找到這個選項的文檔(http://haml-lang.com/docs/yardoc/file.HAML_REFERENCE.html#escape_attrs-option) – rchampourlier 2011-05-13 16:32:07

0

this答案,使用一個單獨的紅寶石變量與html_safe:

- foo = "&#x0026".html_safe 
%a(href='/posts' data-icon=foo aria-hidden='true')