我正在构建一个Rails 3.2.14应用程序。 在这个应用程序中我使用的是FullCalendar jQuery插件。当我举办活动时 在日历中触发一个函数,该函数应该更新记录。
问题是我正在尝试进行PUT,但不知何故,Ajax调用会在URL的末尾添加/编辑一个put。
Started PUT "/sv/admin/projects/4/tasks/4/edit" for 127.0.0.1 at 2014-02-05 09:15:51 +0100
这是我的Ajax代码:
updateEvent = function(the_event) {
data = { starts_at: the_event.start, ends_at: the_event.end };
$.ajax({
type: 'PUT',
url: "/admin/projects/<%= @project.id %>/tasks/" + the_event.id,
data: JSON.stringify(data),
//data: JSON.stringify(data, { _method:'put' }),
contentType: 'application/json',
dataType: 'json',
success: function(result) {
alert("YEAY");
}
});
};
这是我在Rails中的更新方法:
def update
@task.update_attributes(params[:task])
if @task.valid?
flash[:notice] = (t "notice_task_success")
redirect_to edit_admin_project_task_path(@project)
else
flash[:error] = "#{(t 'notice_error')}"
render :edit
end
end
奇怪的是,如果我向数据对象添加一个无效属性,它就会产生正常的PUT(不附加/编辑)。
我在这里做错了什么?
感谢所有人的帮助!