如何在不附加/编辑的情况下发出PUT请求

时间:2014-02-05 08:22:01

标签: javascript jquery ruby-on-rails-3

我正在构建一个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(不附加/编辑)。

我在这里做错了什么?

感谢所有人的帮助!

0 个答案:

没有答案