hml字符串在haml文件中转义

时间:2011-01-14 10:14:05

标签: ruby-on-rails 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>

有人有解决方案吗?感谢。

3 个答案:

答案 0 :(得分:32)

= raw html

或:

= html.html_safe

答案 1 :(得分:28)

haml还提供了与rails 3的原始方法的等效标记:!= ,例如:

!= html

答案 2 :(得分:5)

rails 3发生了变化,因此所有内容现在默认都是html转义。有关详细信息,请参阅Yehuda Katz的this blog post

要直接打印html,您需要在变量上使用html_safe:

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

有关更复杂的示例,请参阅this answer类似的问题。