我在我的模型中使用复合键并根据我的复合键生成 ID:
app.Assignment = Backbone.Model.extend({
idAttribute : [ 'personId', 'jobId' ],
parse : function(resp) {
resp.id = resp.personId + "_" + resp.jobId;
return resp;
}
});
但是Backbone 仍然认为所有Assignment 实例都是新的,尽管我在从API 获取它们时在parse 方法中设置了id。因此,Backbone 不执行 DELETE,而是在更新时执行 POST 而不是 PUT。我该如何解决这个问题或“正确的方法”是什么?
更新:
看起来用 this.id 替换 resp.id 可以解决问题。