web-dev-qa-db-ja.com

HAMLで特別なHTMLシンボルを挿入する方法

私が言っているとき:

%p= item.price + " dollars"

私は得ています

50 ドル

壊れないスペースシンボルの代わりに。

HAMLを使用してこれと別の特別なシンボルを挿入する方法は?

41
AntonAL

どう?

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

使用する != の代わりに =

Hamlリファレンスの「HTMLのエスケープ解除」を参照してください。 http://haml.info/docs/yardoc/file.REFERENCE.html#unescaping_html

14
Adam Fraser

補間オプション:

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

この答えは少し異なる質問に対するものですが、私はそれを探しているこの質問を見つけました...
送信タグ%input{ :type => "submit", :value => " dollars", :name => "very_contrived" }を持っている場合、html_safe:valueをスローしても、htmlは評価されません。
解決策は、Rails helper ... duh

= submit_tag " dollars".html_safe

これはかなり明白ですが、私をつまずかせました。レガシーコード+ Rails upgrade = this kind of stuff:P

4
mraaroncruz

私は、空白文字以外のほとんどのシンボルで、エスケープされたHTMLメソッドで文字自体を使用することを好みます。そうすれば、すべてのHTMLコードを覚える必要はありません。空白文字については、CSSを使用することを好みますが、これははるかにクリーンな方法です。

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

\xa0の代わりに、文字列で を使用できます。 0xa0はASCIIノンブレークスペースのコードです。

0
ngn