Подтвердить что ты не робот

Строка 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>

У кого-нибудь есть решения? Спасибо.

4b9b3361

Ответ 1

= raw html

или

= html.html_safe

Ответ 2

haml также предоставляет эквивалентный тег для рельсов 3 raw: !=, например:

!= html

Ответ 3

В rails 3 было внесено изменение, так что все содержимое теперь html экранировано по умолчанию. Подробнее см. этот пост в блоге от Yehuda Katz.

Чтобы распечатать html напрямую, вам нужно использовать html_safe для вашей переменной:

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

Для более сложного примера см. этот ответ к аналогичному вопросу.