2017-03-11 2 views
0

このコードスニペットは、コントローラルートから抽出されます。 目的は、フォームが保存された後に部分的にレンダリングすることです。リモートフォームを送信した後、コントローラのレンダリングパーシャルが失敗する

post :create, :provides => :js do 
    @note = Note.new(params[:note]) 
    if @note.save 
    "$('form').after('<p>#{ partial("notes/elikem") }</p>')" 
    # Not sure why the partial above does not load 
    else 
    "alert('Note was not created');" 
    end 
end 

これは、ビューから呼び出されたときの部分レンダリングに関する正確なコードです。

"$('form').after('<p>#{ partial("notes/elikem") }</p>')"

有用参照:http://padrinorb.com/guides/application-helpers/ujs-helpers/

答えて

0

問題は、改行文字が文字列の末尾に追加されたことでした。これは、それを解釈することができなかったため、javascriptが存在しなくなりました。

解決方法は、文字列の最後に改行を削除するchompを使用することでした。 "$('form').after('<p>#{ partial("notes/elikem").chomp }</p>')"

関連する問題