Tengo dos modelos (usuario y tarea) que son instancias de Backbone.RelationalModel
._.bindTodos (esto) y TypeError no detectado: no se puede leer la propiedad 'idAttribute' de undefined en backbone-relation.js
La relación de estos dos modelos es el siguiente:
// Task model
var Task = Backbone.RelationalModel.extend({
relations: [
{
type: 'HasOne',
key: 'user',
relatedModel: User
}
],
urlRoot: 'someUrl'
});
Entonces tengo una colección que código es el siguiente:
var FollowerCollection = Backbone.Collection.extend({
initialize: function() {
_.bindAll(this);
}
model: User
});
var User = Backbone.RelationalModel.extend({
});
cuando hago una zona de alcance de FollowerCollection I recibe el siguiente error:
Uncaught TypeError: Cannot read property 'idAttribute' of undefined
en la línea 1565 de la cadena principal-relation.js de backbone-relation version 0.5.0
Aquí una pieza de código de cadena principal relation.js
if (!(model instanceof Backbone.Model)) {
// Try to find 'model' in Backbone.store. If it already exists, set the new properties on it.
var existingModel = Backbone.Relational.store.find(this.model, model[ this.model.prototype.idAttribute ]);
El problema está relacionado con _.bindAll(this)
porque si Lo comento, funciona correctamente.
¿Por qué? ¿Algunas ideas?
¿Está seguro de que el modelo 'Usuario' se define cuando declara la relación? –
@mashingan Adjunté todo el código sobre el modelo de Tarea. ¿Puedes echarle un vistazo? Gracias. –
¿Qué tal si adjuntamos el código de FollowerCollection y User para que podamos intentar encontrar el problema? Actualmente no veo relación alguna entre las dos clases. – jakee