我在我的应用中使用jquery file upload实用程序。如果我通常在rails中有一些类似下面的代码......
if @course_module.save
flash[:success] = "Class created!"
redirect_to course_course_modules_path(@course)
else
render 'new'
end
如果表单中有错误,它将显示错误消息,如果成功保存,则会重定向到另一个页面。但是当通过jquery提交页面时,情况并非如此 插入。原因是它需要返回一个json对象....类似
format.json {
render ':json => [@course_module.to_jq_upload].to_json '
}
我如何代替返回json,改为使用第一个代码片段?如果保存成功则重定向,或者如果不成功则显示错误消息?我尝试过类似下面的内容......
render 'new'
但那没用。
答案 0 :(得分:0)
正常的ajax调用有成功和错误方法,只需在json响应中添加一个redirect_url键,其中包含您想要转到的路径值,并在success方法内部重定向到此URL。
$.ajax({
type: "GET",
url: '/path to your controller',
datatype: 'json',
success: function(data) {
window.location.href = data.redirect_url
};
});
并且你的json响应应该在控制器中看起来像这样
render :json => {course_module: @course_module.to_jq_upload, redirect_url: course_course_modules_path(@course) }.to_json
我希望这就是你要找的东西