質問

Rails では非常に平均的なフォームを持っています。 ブログキット

<% 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

データベースを取得した後、部分的なフォームでレンダリングする前に、いくつかのロジックがスペースを追加しているようです。候補者は次のとおりです。

  • ブルークロス。それを有効にしていますが、ロードプロセスにフックして、テキストエリアにレンダリングされる前に本文を変更する場所が見つかりません
  • ハムル。_form.html.rb 部分は (まだ) _form.haml に移行されていないため、haml はこの部分から離れていると思います。しかし、それは問題の一部かもしれません?

どこから調べ始めればよいのかわからないので、ヒントがあれば大歓迎です。

役に立ちましたか?

解決

このはHAMLの問題です。 http://haml-lang.com/docs/yardoc/を参照してください。 file.FAQ.html#Q-保存する

私の場合、私のフォームは、まだ(あなたのような)HAMLに変換されませんでしたが、私はapplication.html.hamlは変換されていました。 HAMLは、いくつかさえHAML形式になっていないパーシャルにインデントないと思われます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top