2

何らかの理由で、Rails が javascript の text_areas を適切にエスケープしていません。テキスト領域の周りで改行が発生し、JavaScript が無効になります。私は HAML と formtastic を使用していますが、HAML が処理された後に escape_javascript メソッドが出力を処理したと思いました。これは本当にイライラします。助けてください...

例:

edit.js.erb:

$('#ajax-form').html("<%= escape_javascript render 'form' %>")

_form.html.haml

= semantic_form_for @note do |f|
  = f.input :body, as: :text

結果:

$('#ajax-form').html("<form id=\"edit_note\" action=\"/notes/123\" data-method=\"put\">\n<textarea name=\"note[body]\">
This is the note body </textarea>")

文字通りの新しい行に注意してください。これは起こってはいけません!

4

2 に答える 2

1

これは Rails 3.2.3 のバグだと思います。更新した直後に私にも起こりました。3.2.2に戻すと、今のところ解決しました。

于 2012-05-14T19:57:39.153 に答える
0

これは実際には Haml のバグです。3.1.6.rc.1 にアップグレードすれば問題ありません。

于 2012-05-15T21:20:56.430 に答える