Backbone使用GET而不是PUT或POST

时间:2012-03-25 00:43:09

标签: ruby-on-rails-3 backbone.js

我正在处理我正在处理的Backbone项目的一些问题。

我有以下型号:

class App.Models.Purchaseorder extends Backbone.Model
    url: ->
        base = 'api/purchaseorders'

        if this.isNew()
            base
        else
            base + '/' + this.id;

    urlRoot: 'api/purchaseorders'

当我在控制台中运行以下内容时:

po = new App.Models.Purchaseorders;
po.set({'po_number': '1234', 'locale': 'Home', 'po_date': '3/22/2012'});

似乎正确设置了属性。但是,如果我跑

po.save()

我希望它能对api / purchaseorders网址发出POST请求。当我通过Backbone JS中的save()和sync()函数进行调试时,它看起来确实正在运行POST,但在最后一刻,它看起来好像正在做一个GET http://i.imgur.com/dQK88.png < / p>

我有点困惑为什么会发生这种情况。我在尝试进行更新时遇到了类似的问题 - 应该做一个PUT。我假设模型中的某些东西很时髦,但我不知道它可能是什么。

非常感谢任何帮助。

谢谢!

1 个答案:

答案 0 :(得分:0)

我测试了你在问题中的代码(不得不调用new App.Models.Purchaseorder,而不是s,尽管是FYI)并按预期执行POST。

您使用的是哪种版本的Backbone Underscore?

这是a fiddle