Отображение тегов в Rails выводит литерал html - PullRequest
2 голосов
/ 14 февраля 2012

Я делаю простое приложение на Rails для блога и пытаюсь вывести ссылки на теги здесь: Tags: <%= tag_links(@article.tags) %><br />. Rails, похоже, генерирует правильный html, но в браузере он отображается как Tags: <a href="/tags/1">ruby</a>, <a href="/tags/2">tutorial</a> (буквально).

Я проверил исходный html, и он показывает это: Tags: &lt;a href="/tags/1"&gt;ruby&lt;/a&gt;, &lt;a href="/tags/2"&gt;tutorial&lt;/a&gt;, который, кажется, преобразован в правильные теги, но отображается буквально как текст, а не преобразован в HTML.

Ответы [ 2 ]

3 голосов
/ 14 февраля 2012

Используйте метод "html_safe", например:

<%= tag_links(@article.tags).html_safe %>

ИЛИ используйте "raw", например:

<%= raw tag_links(@article.tags) %>

Вы должны поместить их в свой собственный метод (tag_links) в возвращаемые значения,Например,

def tags_links
  html = ""

  html << link_to "some_where", some_url

  html.html_safe
end

Надеюсь, это поможет.

2 голосов
/ 14 февраля 2012

Используйте

<%= raw tag_links(@article.tags) %>

вместо

<%= tag_links(@article.tags) %>

Метод raw пропустит автоматическое экранирование HTML.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...