据我了解,Backbone JS 模型的默认行为是返回集合的 URL,除非模型有urlRoot
指定。我似乎无法让这种行为发挥作用。
从文档中:
model.url() ... 默认生成以下形式的 URL:“[collection.url]/[id]”,但如果不考虑模型的集合,您可以通过指定显式 urlRoot 来覆盖。
这是我的收藏和模型:
var MyCollection = Backbone.Collection.extend({
model: Model,
initialize: function(options){
this.options = options || {};
},
url: function(){
return "/theurl/" + this.options.param;
}
});
return MyCollection;
...
var MyModel = Backbone.Model.extend({
urlRoot: '/theurl',
initialize: function() {
}
});
return MyModel;
当模型在没有集合的情况下加载时,它工作得很好并提交到/theurl
,但是当它加载到集合中时,所有方法都提交到/theurl/param/
.
如果我正确理解文档,urlRoot
则模型的 应该覆盖此行为;即便如此,模型 url 也应该是/theurl/param/{MODEL-ID}
.
关于我遗漏/误解的任何想法?
...
PS:model: Model
集合中的通过RequireJS引入