如何用HAML插入特殊的HTML符号

当我说:

%p= item.price + " dollars" 

我越来越

50美元

而不是具有不可破坏的空间符号。

如何使用HAML插入这个和另一个特殊的符号?

怎么样

 %p= item.price + " dollars".html_safe 

使用!=而不是=

请参阅haml参考中的“Unescaping HTML”: http ://haml.info/docs/yardoc/file.REFERENCE.html#unescaping_html

插值选项:

 %p= "#{item.price} dollars".html_safe 

我尝试以不同的方式使用html_safe ,但没有工作。 用\xa0build议的\xa0也没有工作,但是这让我尝试了非破坏性空间的Unicode转义,

 "FOO\u00a0BAR" 

甚至不需要.html_safe (除非string中的其他内容需要这些)。

Ruby编程语言第一版说:“在Ruby 1.9中,双引号string可以包含任意的Unicode转义字符和\u转义字符,最简单的forms是后跟正好四个hex数字。

这个答案是一个稍微不同的问题,但我发现这个问题寻找它…
如果你有一个提交标记%input{ :type => "submit", :value => " dollars", :name => "very_contrived" }即使你在:value上抛出html_safe ,它也不会评估HTML。
解决的办法是使用铁轨帮手…呃

 = submit_tag " dollars".html_safe 

这是相当明显的,但它绊了我。 传统代码+ rails升级=这种东西:P

您可以在string中使用\xa0而不是  。 0xa0是非破坏空间的ASCII代码。

我更喜欢使用字符本身与大多数符号而不是空格字符转义的HTML方法。 这样我不必记住所有的HTML代码。 至于我更喜欢​​使用CSS的空白字符,这是一个更清洁的方式。

 %p&= "#{item.price} $%&#*@"