答え
"!=", "!==" を使う
詳細
文字列のHTMLエスケープはRailsやRack::Util
コード | 結果 |
---|---|
= link_to(...) | <a href=... |
=h link_to(...) | &lt;a href=... |
自動エスケープモード
上記のようなユーザ駆動のエスケープ処理では100%の安全性を保証できないため、 hamlでは「デフォルトでエスケープする」というオプションが存在します。
1 Haml::Template.options[:escape_html] = true
これにより常時エスケープされるようになるのですが、 今度はh の逆とも言うべき「エスケープしない」方法が必要になります。 これがずっとわからなくて困っていたのですが、 「ドキュメントを見る」という手段を思い出して解決しました。 "!=" を使えばよいようです。
コード | 結果 |
---|---|
!= link_to(...) | <a href=... |
= link_to(...) | &lt;a href=... |
=h link_to(...) | &amp;lt;a href=... |
posted by
maiha
on Mon 8 Feb 2010
at 08:34
with
2 comments
Haml 2.2 以降はどこでも式展開が使えるようになったので、== は意味がなくなりました。! だけで OK です。
なるほど。ありがとうございます!