Content_tag и html_safe не работают должным образом

Мне дали строку с присутствующими тегами html, и моя конечная цель - заставить ее отобразить в блоке p с классом style1 после применения форматирования, присутствующего в тегах html:

<p class = "style1">Text I want to display after applying formatting present in tags</p>

Я пробовал следующие методы:

<%= content_tag :p, class: 'style1' do %>
  <%= question.html_safe %>
<% end %>


<p class = "style1"><%= question.html_safe %></p>


<%= content_tag :p, question.html_safe, class: 'style1' %>

Все три подхода оставляют меня с:

<p class = "style1"></p>
<p> Formatted question text </p>

Я могу заставить текст отображаться в правильном абзаце div, если я использую strip_tags (question), однако это, очевидно, удаляет любые стили перед представлением данных.

Есть ли способ применить стиль, чтобы теги не отображались, И получить содержимое в правильном теге p?

Заранее спасибо.

Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
1
0
245
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Содержит ли строка вопроса дополнительный тег p? Если это так, это не сработает, поскольку вы не можете вложить p в p.

Не могли бы вы поменять обертку на div? Это должно исправить. I.E.

<%= content_tag :div, question.html_safe, class: 'style1' %>

Или удалите все теги p из вопроса:

<%= content_tag :div, question.gsub(/</?p>/, '').strip.html_safe, class: 'style1' %>

Большое, много, большое спасибо. - контент включал тег P, который, по-видимому, закрывает первый

Mark 19.03.2018 16:37

Отлично - пожалуйста. Рад помочь! Я также добавил альтернативное решение. Возможно, вы захотите немного его реорганизовать, но если вы предпочитаете один тег p без оболочки, это должно сделать это за вас.

SRack 19.03.2018 16:39

Другие вопросы по теме