2014-04-25 54 views
3

當與jquery扶手(上4.0.4測試)以下工作替換HTML:replace.js.erb _my_partial.html.erb的導軌escape_javascript和remotipart

$('#my_div').html("<%= j(render 'my_partial') %>"); 

含量

內容

"This" works 
<%= '"This" also works' %> 

當replace.js.erb在效應初探渲染到AJAX文件中使用remotipart寶石(1.2.1),如下所示提交然而它失敗。

內容create.html.erb

​​

它會導致下面的JavaScript錯誤在瀏覽器,因爲引號不正確逃脫。

語法錯誤:意外的標識

服務器響應:$( '#my_div')HTML( 「\」 這種\ 「工程\ N 」這種「 失敗\ n」);

請注意,如果我沒有選擇文件提交javascript錯誤不會發生,它重新正確渲染。它看起來像沒有選擇文件時不會調用remotipart,可能是因爲不需要多部分表單。

回答

1

嘗試如下

$("#my_div").html("<%= escape_javascript(render :partial => 'my_partial') %>"); 
+0

同樣的錯誤,那爲什麼會產生不同的結果? –

1

我終於得到了解決試圖像同一個問題:

$("#my_div").html("<%= escape_javascript(render :partial => 'my_partial').gsub('&quot;', "'") %>"); 
+0

謝謝,我有同樣的問題。你的解決方案幫了我。 – yerassyl