在我的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