Rails Создание переменной с текстом и link_to - PullRequest
0 голосов
/ 26 декабря 2010

Я пытаюсь сделать это:

headline = 'Created a new' && link_to('Set', set_path(set))

Также пробовал:

headline = 'Created a new' + link_to('Set', set_path(set))

но не выводится как:

Created a new <a href="xxxx">Set</a>

Идеи? thxs

Ответы [ 2 ]

1 голос
/ 26 декабря 2010

В Rails есть отличная функция предотвращения XSS, которая может вам здесь помешать.Перед выводом строк он по умолчанию закодирует любой найденный в них HTML-код, если только он не был заранее явно помечен как безопасные строки.link_to запускает html_safe! на своем выходе, поэтому обычно он не кодируется, но добавление его в небезопасную строку, например 'Created a new', удаляет этот HTML-безопасный атрибут.

Попробуйте вызвать:

headline.html_safe!

сразу после установки.

Конечно, поскольку вопрос не определяет, какой вывод вы получаете вместо того, что вы хотите, я не могу быть полностью уверен, что это проблема,Но это лучшее, что я могу сделать с тем, что у меня есть:)

0 голосов
/ 27 декабря 2010

Я бы просто поставил это прямо на ваш взгляд или в качестве помощника.Вы также можете несколько упростить link_to:

<%= 'Created a new' + link_to('Set', set) %>
# or 
<%= "Created a new #{link_to('Set', set)}" %>
# or 
Created a new <%= link_to('Set', set) %>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...