Ruby on Rails表单f.text_area包含额外的空格

ber*_*kes 1 ruby-on-rails erb form-helpers bluecloth

我在Rails中有一个非常平均的形式,通过blog_kit

<% form_for(@blog_post, :html => { :multipart => true }) do |f| %>\
  ... other code
  <%= f.text_area :body %>
  <%= debug(@blog_post) %>
Run Code Online (Sandbox Code Playgroud)

在编辑博客文章时,正文突然包含额外的空格(标记为_以显示):

...sit amet eleifend diam imperdiet pharetra.
__ 
__## FOO?
__Morbi nec
Run Code Online (Sandbox Code Playgroud)

因为textarea是空间感知的,它将显示空格.在更新时,它们将添加到数据库中.

这些空间不在数据库中(在上面提到的错误更新之前).BlogPost.find(1)模型也不包含这些空格.

script/console » b = BlogPost.find(1)
» puts b.body
...sit amet eleifend diam imperdiet pharetra.

## FOO?
Morbi nec
Run Code Online (Sandbox Code Playgroud)

在获取数据库之后,但在以局部形式呈现之前,似乎某些逻辑会添加空格.候选人是:

  • BlueCloth.我有启用,但找不到它将挂钩到加载过程的地方,并在textarea中呈现之前更改主体
  • HAML._form.html.rb部分尚未(尚未)迁移到_form.haml,因此我假设haml远离此部分.但它可能是麻烦的一部分?

我不知道从哪里开始寻找,所以任何提示都会非常受欢迎.

Ale*_*lex 5

这是一个HAML问题.请参见http://haml-lang.com/docs/yardoc/file.FAQ.html#q-preserve

在我的情况下,我的表单尚未转换为HAML(与您一样),但我已经转换了application.html.haml.似乎HAML甚至对不是HAML格式的部分进行了一些缩进.