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

时间:2010-08-04 19:39:12

标签: 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) %>

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

...sit amet eleifend diam imperdiet pharetra.
__ 
__## FOO?
__Morbi nec

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

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

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

## FOO?
Morbi nec

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

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

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

1 个答案:

答案 0 :(得分:5)

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

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