我有一个textarea输入,允许用户输入多于段落,这意味着用户可以输出一个新行。
问题是当我从数据库输出它时,它们都缩小为一行?
如何将新行添加到HTML友好的新行中,以便它看起来像用户输入文本的方式?
感谢
答案 0 :(得分:8)
使用simple_format帮助程序。它将<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>"
答案 1 :(得分:0)
这条css规则可以解决问题:
white-space: pre-line;
答案 2 :(得分:-1)
这也有效。 把它放在你的输入节目中(改变到类和属性, tex:@ post.content或@ post.body < / em>的)。
<%= @class.attribute.html_safe.gsub(/\r\n?/,"<br/>").html_safe %>