私の理解では、バックボーン JS モデルのデフォルトの動作は、モデルに指定がない限りurlRoot
、コレクションの URL を返すことです。動作を機能させることができないようです。
ドキュメントから:
model.url() ... デフォルトでは "[collection.url]/[id]" の形式の URL を生成しますが、モデルのコレクションを考慮しない場合は、明示的な 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 経由で取り込まれます