我正在使用backbone.marionette (1.0.0) 和node.js (0.10.22)。想知道为什么当我尝试使用 node.js REST 调用保存模型数据时,主干会添加额外的参数。
模型.js
Backbone.Model.extend ({
urlRoot: function (){
return '/path/' + myApp.companyId;
},
defaults: {
companyId: '',
// other attributes
},
// doesn't use 'id' in model instead companyId
idAttribute: 'companyId'
});
在加载视图之前,我会请求myApp.request ('entities:myModel')
已发布的模型数据,model.fetch ()
并且 node.js 后端将触发GET /path/1
路由。没有任何问题。
但是,当单击视图上的更新按钮时, this.model.save () 将被触发PUT /path/1/1
。它应该是PUT /path/1
,在 url 路径中只有一个“1”。
视图.js:
clicked: function () {
var formData = Backbone.syphon.serialize (this);
this.model.set (formData);
var promise = this.model.save ();
promise.done ().fail ()
}
如何阻止backbone.sync 将额外参数附加到url 路径?感谢您抽出时间阅读本文,感谢您的帮助。