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

テキストエリアはスペースを意識しているため、スペースが表示されます。更新時に、それらはデータベースに追加されます。

これらのスペースはデータベースにありません(つまり、上記の誤った更新の前)。モデルBlogPost.find(1)にもこれらのスペースは含まれていません。

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

## FOO?
Morbi nec

データベースをフェッチした後、部分的な形式でレンダリングする前に、一部のロジックがスペースを追加しているようです。候補者は次のとおりです。

  • BlueCloth。私はそれを有効にしましたが、ロードプロセスにフックする場所を見つけることができず、テキストエリアにレンダリングされる前に本文を変更します
  • HAML。_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 に答える