1

我在 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

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

  • 蓝布。我启用了该功能,但找不到可以挂接到加载过程的位置,并在正文在 textarea 中呈现之前对其进行更改
  • 哈姆勒。_form.html.rb 部分没有(还)迁移到 _form.haml,所以我认为 haml 远离这部分。但这可能是麻烦的一部分?

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

4

1 回答 1

5

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

在我的情况下,我的表单尚未转换为 HAML(就像你一样),但我已经转换了 application.html.haml。似乎 HAML 甚至对非 HAML 格式的部分进行了缩进。

于 2011-01-12T18:49:04.313 回答