在我的Rails 5/5 Turbolinks應用程序,我想提出從一個表單提交到一個div產生的HTML。Turbolinks 5 AJAX POST
的形式是
= form_for(user) do |f|
標準導軌形式。
成功提交後重定向被髮送到瀏覽器
respond_to do |format|
if @user.save
format.html { redirect_to @user, notice: 'User was created.' }
當我通過AJAX提交表單:
$(".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)。我怎樣才能防止turbolinks的這種行爲。
您可以將您的控制器代碼?我的猜測是,你不應該重定向,而是提出對請求的響應。 –
觀看此視頻,它會幫助你。 http://railscasts.com/episodes/205-unobtrusive-javascript – WaKeMaTTa