私が言っているとき:
%p= item.price + " dollars"
私は得ています
50 ドル
壊れないスペースシンボルの代わりに。
HAMLを使用してこれと別の特別なシンボルを挿入する方法は?
どう?
%p= item.price + " dollars".html_safe
使用する !=
の代わりに =
Hamlリファレンスの「HTMLのエスケープ解除」を参照してください。 http://haml.info/docs/yardoc/file.REFERENCE.html#unescaping_html
補間オプション:
%p= "#{item.price} dollars".html_safe
この答えは少し異なる質問に対するものですが、私はそれを探しているこの質問を見つけました...
送信タグ%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
私は、空白文字以外のほとんどのシンボルで、エスケープされたHTMLメソッドで文字自体を使用することを好みます。そうすれば、すべてのHTMLコードを覚える必要はありません。空白文字については、CSSを使用することを好みますが、これははるかにクリーンな方法です。
%p&= "#{item.price} $%&#*@"
\xa0
の代わりに、文字列で
を使用できます。 0xa0はASCIIノンブレークスペースのコードです。