У меня есть база данных, заполненная старыми сообщениями в блоге, которые я пытаюсь перенести в Rails.Поле body состоит из сообщений, которые выглядят в формате, подобном следующему:
Paragraph text paragraph text paragraph text and even more paragraph text. Paragraph text paragraph text paragraph text and even more paragraph text. Paragraph text paragraph text paragraph text and even more paragraph text. Paragraph text paragraph text paragraph text and even more paragraph text.
<iframe src="http://www.youtube.com?v=XXXXXXXX" width="400" height="250"></iframe>
Paragraph text paragraph text paragraph text and even more paragraph text. Paragraph text paragraph text paragraph text and even more paragraph text. Paragraph text paragraph text paragraph text and even more paragraph text. Paragraph text paragraph text paragraph text and even more paragraph text.
<ul>
<li>List item</li>
<li>List item</li>
<li>List item</li>
<li>List item</li>
</ul>
Paragraph text paragraph text paragraph text and even more paragraph text. Paragraph text paragraph text paragraph text and even more paragraph text. Paragraph text paragraph text paragraph text and even more paragraph text. Paragraph text paragraph text paragraph text and even more paragraph text.
Итак, я пытаюсь заключить текст абзаца в <p>
, но оставьте остальные HTML-элементы в покое.Вот что я попробовал:
simple_format (@ post.body) = это помещает <p>
вокруг всего, но также загрязняет мои неупорядоченные списки разрывами между каждым элементом списка.Кроме того, встраивание iframe не будет отображаться.
raw (@ post.body) или @post.body.html_safe = Встраивание iframe и неупорядоченные спискиотображаются отлично, но все работает вместе, так как нет замены для новых строк.
simple_format (@ post.body, {}, {: sanitize => false}) = Круто.Теперь я могу видеть все теги HTML!Не работает вообще
@post.body.gsub (/ \ r \ n? /, "<br/>
"). Html_safe = Та же проблема, что и с simple_format ...Я получаю разрывы строк в моих тегах блочных элементов html.
Есть предложения о том, как этого добиться?