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

时间:2011-06-10 11:00:39

标签: ruby-on-rails-3 special-characters haml

当我说:

%p= item.price + " dollars"

我正在

  

50& nbsp;美元

而不是具有不易碎的空格符号。

如何使用HAML插入此特殊符号和其他特殊符号?

7 个答案:

答案 0 :(得分:70)

怎么样

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

答案 1 :(得分:14)

使用!=代替=

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

答案 2 :(得分:12)

我尝试以不同的方式使用html_safe,但都没有效果。按照ngn的建议使用\xa0也没有用,但它让我尝试了非破坏空间的Unicode转义,这确实有效:

"FOO\u00a0BAR"

并且甚至不需要.html_safe(除非字符串中的其他内容需要它,当然)。

Ruby编程语言,第一版说:“在Ruby 1.9中,双引号字符串可以包含具有\u转义的任意Unicode转义字符。最简单的形式是{{ 1}}之后是正好四个十六进制数字......“

答案 3 :(得分:11)

插值选项:

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

答案 4 :(得分:4)

这个答案是针对一个稍微不同的问题,但我发现这个问题正在寻找它...
如果您有一个提交标记%input{ :type => "submit", :value => " dollars", :name => "very_contrived" },即使您在html_safe上抛出:value,它也不会评估html。
解决方案是使用rails helper ... duh

= submit_tag " dollars".html_safe

这很明显,但它让我绊倒了。传统代码+ rails upgrade =这种东西:P

答案 5 :(得分:0)

您可以在字符串中使用\xa0而不是 。 0xa0是不间断空格的ASCII码。

答案 6 :(得分:0)

我更喜欢将字符本身与转义的HTML方法一起使用,除了空白字符以外的大多数符号。这样我就不必记住所有的HTML代码了。至于我喜欢使用CSS的空白字符,这是一种更清洁的方式。

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