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

Как отображать содержимое с помощью raw html

@post.body имеет следующий контент (который преобразован из Markdown с помощью RDiscount). Как я должен отображать его пользователю в том, что он означает? я хочу, чтобы сделать его как текст сильный текст...

<p><strong>strong text</strong> </p> <p><em>emphasized text</em> </p> <blockquote>  <p>this is a quote</p> </blockquote><p><img src="http://www.picturehouse.com/titles/images/rock.jpg" alt="alt text" title="" /> </p> 

Использование <%= @post.body => будет отображать его только как текст, показанный выше.

4b9b3361

Ответ 1

Предполагая Rails 3, используйте raw вспомогательный метод, например.

<%= raw(@post.body) %>

Выход из HTML-вывода по умолчанию включен во всех шаблонах представлений (в отличие от более ранних версий, где вам приходилось использовать метод h для исключения строк отдельно).

Ответ 2

Используете ли вы рельсы 3? Он автоматически удаляет все содержимое тегов <%= %>. Чтобы избежать этого, сделайте

<%= raw(@post.body) %>

Ответ 3

Я так понимаю, вы в Rails 3? Одно большое изменение заключается в том, что отображаемый текст был необработанным по умолчанию, и вам приходилось санировать его самостоятельно. Теперь все наоборот. Назовите это так:

<%= raw(@post.body) %>

И вы получите то, что ищете.