モデルで複合キーを使用しており、複合キーに基づいて ID を生成しています。
app.Assignment = Backbone.Model.extend({
idAttribute : [ 'personId', 'jobId' ],
parse : function(resp) {
resp.id = resp.personId + "_" + resp.jobId;
return resp;
}
});
しかし、API からフェッチするときに parse メソッドで id を設定していますが、Backbone は Assignment のすべてのインスタンスが新しいと考えています。その結果、Backbone は DELETE を実行せず、更新時に PUT の代わりに POST を実行します。これを回避するにはどうすればよいですか、またはそれを行う「正しい方法」は何ですか?
アップデート:
resp.id を this.id に置き換えると問題が解決するようです。