[英]Routing error in ajax on ruby on rails
我的.html.erb代码中有这个:
$.ajax({
url: "/timeMachineEdit",
data: {editTimeMachine: newArray},
type: 'POST',
success: function (res) {
if (res.result === 'ok') {
alert('Data saved');
} else {
alert('Save error');
}
},
error: function () {
alert('Save error.');
}
});
这在我的datasets_controller.rb中
def timeMachineEdit
@dataset = current_user.dataset
@dataset.machine_time = params[:editTimeMachine]
end
在我的route.rb中:
match "/timeMachineEdit", to: "datasets#timeMachineEdit"
但是何时提交显示:
POST http://localhost:3000/timeMachineEdit 500 (Internal Server Error)
问题出在哪里? ajax url中的路由是什么?
问题出在您的路线定义中。
尝试将“ / timeMachineEdit”匹配为:“ datasets#timeMachineEdit”
我认为,由于格式的性质,它仍然无法正常工作。在datasets_controller中尝试以下代码...
def timeMachineEdit
@dataset = current_user.dataset
@dataset.machine_time = params[:editTimeMachine]
respond_to do |format|
format.js
end
end
还要将您的AJAX请求的dataType更改为“ script”,以使其与format.js正确匹配,否则格式将为/ ,这将选择您在response_to块中指定的第一种格式。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.