В Rails, как я могу разрешить некоторый html в текстовой области?

У меня есть приложение Rails (блог), которое я создаю. Очень простой материал. В моей области содержимого у меня есть текстовая область для содержания сообщения. Мне нужно включить некоторые html в текстовую область (ссылки, формирование и т.д.).

<%= f.text_area :content %>

Есть ли другой тег, который я могу использовать вместо text_area, что позволит мне это сделать?

Ответ 1

Вы пробовали это в представлениях?

 <%= content.html_safe %>

Ответ 2

Это старый вопрос, но я предполагаю, что для этого достаточно помощник в прямом представлении: sanitize. Я предполагаю, что вы хотите отобразить теги HTML, введенные пользователем. Для этого сохраните содержимое в виде строки и сделайте как HTML с помощью sanitize.

Пример использования:

sanitize @post, tags: %w(strong em a code pre h2 h3 p blockquote ul ol li br),
                attributes: %w(href class)

Параметр tags позволяет указать те теги, которые будут использоваться, и те же, что и с атрибутами html.

Ответ 3

Безопасный метод HTML на самом деле .html_safe. Просто протестирован в текстовом поле.

Например:

<%= @item.description.html_safe %>

Ответ 4

Вы ищете что-то похожее на жирные, курсивные,... параметры, которые вы получаете при публикации в stackoverflow? Если это так, я бы предложил Markitup, плагин текстового редактора для jQuery. После того, как вы получите эту настройку, вы сможете ввести разметку в своей текстовой области (например, Markdown, bbcode,...). Когда вы фактически показываете результат на странице, вам просто нужно, чтобы Ruby проанализировал выбранный вами язык.

например.

<%= @user.bio.bb_code %>

Используя этот метод, вы позволяете своим пользователям вводить стилизованный текст безопасным образом.

Ответ 5

text_area_tag, вероятно, то, что вы хотите.