2012-05-14 34 views
2

由於某些原因,rails無法正確轉義javascript的text_areas。我正在文本區域周圍換行,導致無效的JavaScript。我使用HAML和formtastic,但我認爲escape_javascript方法在HAML完成後處理輸出。這真令人沮喪。請幫助...escape_javascript未正確轉義text_area的

例如:

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>") 

注意字面新行,這不應該發生!

回答

0

它實際上是Haml中的一個錯誤,升級到3.1.6.rc.1,你應該沒問題。

1

我認爲這是Rails 3.2.3中的一個bug,它發生在我更新之後。恢復到3.2.2現在解決了它。

+1

我把haml捲回了一個版本,它解決了這個問題。 –