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

Поместить теги haml внутри link_to helper

Можно ли добавить 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>
4b9b3361

Ответ 1

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

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

Ответ 2

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

- link_to "path/to/page.html" do
  Other page
  %span.icon Arrow

Ответ 3

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

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

или используя функцию raw (рекомендуется)

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

Просто, как только может получиться!

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