rails - вывод пользовательского ввода с возвращением абзаца? - PullRequest
0 голосов
/ 20 ноября 2010

У меня есть текстовое поле ввода, которое позволяет пользователям вводить больше, чем в абзаце, то есть пользователь может выводить новую строку.

Проблема в том, что, когда я вывожу данные из базы данных, все сокращается в одну строку?

Как превратить эту новую строку в новую строку, удобную для HTML, чтобы она выглядела так, как пользователь вводил текст?

спасибо

Ответы [ 3 ]

8 голосов
/ 20 ноября 2010

Используйте помощник simple_format . Это заменить все \ n на <br /> или <p>

Примеры из API:

 my_text = "Here is some basic text...\n...with a line break."

  simple_format(my_text)
  # => "<p>Here is some basic text...\n<br />...with a line break.</p>"

  more_text = "We want to put a paragraph...\n\n...right there."

  simple_format(more_text)
  # => "<p>We want to put a paragraph...</p>\n\n<p>...right there.</p>"

  simple_format("Look ma! A class!", :class => 'description')
  # => "<p class='description'>Look ma! A class!</p>"
0 голосов
/ 11 февраля 2015

Это правило CSS должно помочь:
white-space: pre-line;

0 голосов
/ 05 сентября 2013

Это тоже работает. Поместите это в свое шоу ( измените на свой класс и атрибут , tex: @ post.content или @ post.body ) .

<%= @class.attribute.html_safe.gsub(/\r\n?/,"<br/>").html_safe %>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...