我有一个非常基本的骨干(样本)应用程序,它只创建和销毁模型项。创建模型时,对象通过POST持久保存到Web服务器,但是当模型被销毁时,没有DELETE发送到服务器?知道为什么会这样吗?
非常基本的模型:
window.User = Backbone.Model.extend({
urlRoot: 'users'
});
我的测试代码只是为了创建和删除模型:
var model = null;
$(".add").click(function(){
if (model == null) {
model = new window.User;
model.set({name: 'meeee'});
model.save();
}
});
$(".remove").click(function(){
if (model != null) {
model.destroy();
}
});
创建模型时的JSON响应似乎也很好:
答案 0 :(得分:12)
Backbone不知道_id是您用于id字段的名称,除非您以某种方式修改了Backbone.js的副本(请不要)。要告诉Backbone您的ID字段的名称是什么特定模型,idAttribute在您的模型定义中。否则,它默认为常规id
。
如果没有设置“identity”字段,Backbone会考虑模型实例“isNew”(一个尚未持久保存到服务器的模型实例),所以当没有“身份”时(在你的情况下,因为它不知道你的身份是_id
),所以不需要在服务器上销毁它。