我用在我的模型组合键,并根据我的组合键生成ID:骨干做,而不是在更新PUT POST当复合键用于
app.Assignment = Backbone.Model.extend({
idAttribute : [ 'personId', 'jobId' ],
parse : function(resp) {
resp.id = resp.personId + "_" + resp.jobId;
return resp;
}
});
但骨干仍然认为所有实例Assignment是新的,所有虽然我从API中获取它们时在parse方法中设置了id。因此,Backbone不会执行删除操作,并在更新时执行POST而不是PUT操作。我该如何解决这个问题?或者什么是“正确的方法”来做到这一点?
更新:
看起来像this.id更换resp.id解决了这个问题。
Backbone不支持组合键,因此将'idAttribute'定义为数组无效。每个模型必须有一个ID字段。你的资源网址是什么样的? – jevakallio 2013-03-04 11:23:00
它确实支持复合键:https://github.com/documentcloud/backbone/pull/1558其实我通过这样做解决了它.id = ...而不是resp.ide = ... – 2013-03-04 13:37:31
啊,你使用https://github.com/caseywebdev/backbone-composite-keys。在问题中提到它会有道理。 – jevakallio 2013-03-04 13:53:46