在 Rails 5 中渲染多行字符串的多余空格

ato*_*era 3 ruby ruby-on-rails ruby-on-rails-5

我最终遇到了奇怪的错误(功能?):

这是test.html.erb文件的样子:

<textarea><%= "a\nb\nc" %></textarea>
Run Code Online (Sandbox Code Playgroud)

在渲染的 textarea 中,我期待这样的事情:

a
b
c
Run Code Online (Sandbox Code Playgroud)

但我得到了:

在此处输入图片说明 在此处输入图片说明

这些多余的空间从何而来?

Rails 5.0.0.beta2

UDP:我之前应该提到它,但是在form_for块内使用f.text_area 时遇到了同样的问题。看起来像:

.form
  =form_for article do |f|
    .form-group
      =field_label f, :text, true
      =f.text_area :text, class: %w(form-control), rows: 20, placeholder: t('placeholder.article_text')
Run Code Online (Sandbox Code Playgroud)

(HAML)

我最终得到了它,只是将漏洞利用简化为一个字符串的简单erb文件

UDP2: 这里是simple_format 的样子<textarea><%= simple_format("a\nb\nc") %></textarea>

在此处输入图片说明

我应该澄清一些事情:这个 textarea 用于编辑文章文本。然后它(文本)在出现在 html 页面之前将被降价处理器(RDiscount)处理。我不知道为什么我应该使用 simple_format 在 textarea 中显示原始文本以及为什么 在此处输入图片说明 应该变成这个 在此处输入图片说明 保存后?