私はdiv要素にフォームの送信から結果のHTMLを入れたい5/Turbolinks 5アプリケーション。Turbolinks 5 AjaxのPOST
形態は
= form_for(user) do |f|
標準レールの形です。私はAJAXを経由してフォームを送信する際
成功提出後のリダイレクトは、ブラウザ
respond_to do |format|
if @user.save
format.html { redirect_to @user, notice: 'User was created.' }
に送信されます。
$(".dialog").on("submit", "form", function(e){
e.preventDefault();
$.ajax({
url: $(this).attr("action"),
method: "POST",
data: $(this).serialize()
}).done(function(data) {
$(".dialog .canvas").html(data);
});
});
から提出取得して、サーバーのredirect_toステートメントは、ブラウザをリダイレクト新しいユーザーのページ
リダイレクトは、ブラウザがにリダイレクトされたページの内容と体を交換するturbolinksの原因となります。代わりに、特定のdiv $( "。dialog .canvas").html(data)を置き換えたいと思います。どのように私はターボリンクのこの動作を防ぐことができます。
は、あなたのコントローラのコードを追加することはできますか?私の推測では、リダイレクトはしないでくださいが、要求に対する応答を表示します。 –
このビデオを見ると、あなたに役立ちます。 http://railscasts.com/episodes/205-unobtrusive-javascript – WaKeMaTTa