2011-12-14 74 views
2

另一個愚蠢的HAML問題。我需要轉義HTML純字符串,沒有 「=」:在HAML中轉義HTML

%p 
    This paragraph has <n> lines. 

無論我做什麼(如在前面加上 「&」),它仍然呈現爲

This paragraph has lines. 

我使用Rails 3.1。

回答

7

是的,你可以用0轉義HTML過濾器。

工作方式與普通相同,但HTML在將文本放入文檔之前轉義文本。

例子:

%p 
    :escaped 
    This paragraph has <n> lines. 
0

This paragraph has &lt;n&gt; lines

+3

一個使用模板語言點是爲了避免手工編寫實體,所以我不能接受這一點。 – punund 2011-12-14 17:37:40

2

檢查HAML文件位置:http://haml-lang.com/docs/yardoc/file.HAML_REFERENCE.html#escaping_html

有可能是這樣做的更好的辦法,但這樣做的工作:

& This paragraph has #{"<n>"} lines 

,將產生

This paragraph has &lt;n&gt; lines 
+0

我知道這一點。在`#{}}中包含任何東西都會強制通過Ruby運行,我不認爲這是必要的。 – punund 2011-12-14 22:03:56