web-dev-qa-db-ja.com

HTML文字列がhamlファイルにエスケープされています

#test
  - html = "<a href='http://www.a.com'>Test</a>"
  = html

出力は

<div id='test'>
  &lt;a href='http://www.a.com'&gt;Test&lt;/a&gt;
</div>

しかし、私は出力が必要です:

<div id='test'>
  <a href='http://www.a.com'>Test</a>
</div>

誰かが解決策を持っていますか?ありがとう。

32
garrydou
= raw html

または:

= html.html_safe
32
gunn

hamlには、Rails 3's raw method:!=、eg:

!= html

28
James Chen

Rails 3に変更が加えられ、すべてのコンテンツがデフォルトでhtmlエスケープされるようになりました。詳細については、Yehuda Katzの このブログ投稿 を参照してください。

Htmlを直接印刷するには、変数でhtml_safeを使用する必要があります。

#content
 .title
   %h1= @title
   = @content.html_safe

より複雑な例については、同様の質問に対する この回答 を参照してください。

5
tomeduarte