Поместите теги haml в link_to helper - PullRequest
46 голосов
/ 08 марта 2012

возможно ли добавить html-контент в хелпер link_to в HAML?

Я попробовал это, но все, что я получил, это синтаксическая ошибка:

= link_to "Other page", "path/to/page.html"
    %span.icon Arrow

ожидаемый результат:

<a href="path/to/page.html">Other Page<span class="icon">Arrow</span></a>

Ответы [ 3 ]

106 голосов
/ 08 марта 2012

Вы должны использовать блок

= link_to "path/to/page.html" do
  Other page
  %span.icon Arrow
11 голосов
/ 29 ноября 2012

Если кто-то все еще использует Rails 2.x в проекте, похоже, что принятый ответ возвращает блок, таким образом дублируя ссылку в разметке. Очень простое изменение: используйте - вместо =

- link_to "path/to/page.html" do
  Other page
  %span.icon Arrow
5 голосов
/ 11 февраля 2014

Самый простой способ сделать это - использовать html_safe или необработанные функции

= link_to 'Other Page<span class="icon"></span>'.html_safe, "path/to/page.html"

или с использованием необработанной функции (рекомендуется)

= link_to raw('Other Page<span class="icon"></span>'), "path/to/page.html"

Просто, как может! !!

Не используйте метод html_safe, если вы не уверены, что ваша строка не равна нулю. Вместо этого используйте метод raw (), который не вызовет исключение для nil.

...