BackboneJS model.url utilizando collection.url
Según tengo entendido, el comportamiento predeterminado de los modelos Backbone JS es devolver la URL de la colección,a no ser que el modelo tiene unaurlRoot
especificado. Parece que no puedo conseguir que el comportamiento funcione.
De la documentación:
model.url () ... Genera URL de la forma: "[collection.url] / [id]" de forma predeterminada, pero puede anularlo especificando un urlRoot explícito si no se debe tener en cuenta la colección del modelo.
Aquí está mi colección, y modelo respectivamente:
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;
Cuando un modelo se carga sin una colección, funciona muy bien y se envía a/theurl
, pero cuando se carga en una colección, todos los métodos se envían a/theurl/param/
.
Si estoy entendiendo la documentación correctamente, laurlRoot
del Modelo debe anular este comportamiento; e incluso entonces los modelos url deberían estar/theurl/param/{MODEL-ID}
.
¿Alguna idea sobre lo que me falta / malentendido?
...
Pd: lamodel: Model
de la colección es traído a través de RequireJS