rails - 使用段落返回输出用户输入?

时间:2010-11-20 07:30:00

标签: ruby-on-rails ruby-on-rails-3

我有一个textarea输入,允许用户输入多于段落,这意味着用户可以输出一个新行。

问题是当我从数据库输出它时,它们都缩小为一行?

如何将新行添加到HTML友好的新行中,以便它看起来像用户输入文本的方式?

感谢

3 个答案:

答案 0 :(得分:8)

使用simple_format帮助程序。它将<br /><p>

替换为所有\ n

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 %>