Ruby / Rails - Разбор и отображение HTML из атрибута Models - PullRequest
0 голосов
/ 19 февраля 2011

У меня есть модель Rails под названием Events, поле / атрибут которой называется: description.

Я перенес его под тип t.text вместо t.string, поскольку собирался отображать большой объем данных.

Итак ... Теперь я нахожусь в точке, где я хотел бы аккуратно отобразить <%= @event.description %> и хотел бы разбить некоторые предложения, а не один большой блок информации.

Я надеялся, что смогу вставить <p> или другие HTML-коды, чтобы помочь с отображением текста.

Проблема при вставке <p> в поле: выводит только <p> и нежелательное действие команды html.

Как добавить html-стиль к текстовому атрибуту?

Ответы [ 2 ]

7 голосов
/ 19 февраля 2011

Вы можете использовать <%=raw @event.description %> для отображения неэкранированного содержимого.Имейте в виду, что это потенциальная дыра в безопасности XSS, если пользователи могут когда-либо повлиять на этот контент.Я настоятельно рекомендую использовать sanitize helper для удаления нежелательной разметки перед ее записью.

0 голосов
/ 19 февраля 2011

Это строго зависит от того, как вы его печатаете.В частности, если вы печатаете с помощью вызывающей функции h (<%= h my_text =>), вывод будет очищен и html экранирован.

Это также может зависеть от вашей версии rails:по умолчанию, даже если вы не используете h.

...