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

Ant*_*nAL 41 haml special-characters ruby-on-rails-3

当我说:

%p= item.price + " dollars"
Run Code Online (Sandbox Code Playgroud)

我越来越

50美元

而不是具有不易碎的空间符号.

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

Hak*_*onB 70

怎么样

%p= item.price + " dollars".html_safe
Run Code Online (Sandbox Code Playgroud)


Ada*_*ser 14

!=而不是=

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


Dav*_*son 12

插值选项:

%p= "#{item.price} dollars".html_safe
Run Code Online (Sandbox Code Playgroud)

  • 虽然我没有低估你的答案我觉得它确实有潜在的问题,因为它标记item.price作为html安全可能会导致XSS问题...鉴于这个问题的背景我们无法确定:-) (3认同)

Tee*_*sti 12

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

"FOO\u00a0BAR"
Run Code Online (Sandbox Code Playgroud)

并且.html_safe甚至没有必要的(除非别的东西字符串中需要,当然).

Ruby编程语言的第一版说:"在Ruby 1.9中,双引号字符串可以包含带有\u转义的任意Unicode转义字符.在最简单的形式中,\u后面跟着恰好四个十六进制数字......"