我知道这已被问过很多次,但我找不到我的问题的解决方案。在所有其他问题中,答案都与未设置 ID 或 _id 等其他内容有关。
我没有任何自定义同步或销毁方法。一切都是标准的。
我的模型和收藏:
class Load extends Backbone.Model
localStorage: new Backbone.LocalStorage 'relodr.load'
urlRoot: relodr.api.url + "loads/"
class Loads extends Backbone.Collection
model = Load
localStorage: new Backbone.LocalStorage 'relodr.loads'
url: relodr.api.url + "loads/"
这是我要删除模型的地方:
delete: (e) =>
f = $(e.currentTarget)
id = $(f.parent()).attr("data-id")
load = new Loads()
load.fetch()
model = load.get id
console.log model
model.destroy()
该模型已从集合中删除,但 DELETE 从未发送到服务器。
这是 console.log 模型:
Backbone.Model {cid: "c5", attributes: Object, collection: Loads, _changing: false, _previousAttributes: Object…}
_changing: false
_events: Object
_pending: false
_previousAttributes: Object
attributes: Object
changed: Object
cid: "c5"
id: 2
__proto__: Object
所以我有一个模型的 ID,我的模型确实有一个 URL 集。
如果我这样做:
model = new Load
id: 99
model.destroy()
它起作用了,尽管它返回了 500 错误(显然),但仍发送了 DELETE 请求。所以它告诉我网址等是正确的并且有效..
只是不确定为什么我的销毁方法不起作用。
更新
有趣的是,当我记录上面创建的模型时,它看起来像这样:
Load {cid: "c6", attributes: Object, _changing: false, _previousAttributes: Object, changed: Object…}
所以一个说 Load (模型的名称)和另一个 Backbone.Model