Mam dwa modele (User and Task), które są instancjami Backbone.RelationalModel
._.bindAll (this) and Uncaught TypeError: Nie można odczytać właściwości 'idAttribute' niezdefiniowanej w backbone-relation.js
Relacja o tych dwóch modeli jest następująca:
// Task model
var Task = Backbone.RelationalModel.extend({
relations: [
{
type: 'HasOne',
key: 'user',
relatedModel: User
}
],
urlRoot: 'someUrl'
});
Potem mam jeden zbiór, który kod wygląda następująco:
var FollowerCollection = Backbone.Collection.extend({
initialize: function() {
_.bindAll(this);
}
model: User
});
var User = Backbone.RelationalModel.extend({
});
Kiedy robię sprowadzić na FollowerCollection I Uzyskaj następujący błąd:
Uncaught TypeError: Cannot read property 'idAttribute' of undefined
na linii 1565 z szkieletowy relation.js z backbone-relation version 0.5.0
tu kawałek kodu szkieletowy 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 ]);
Problem jest związany z _.bindAll(this)
ponieważ jeśli Komentuję to, działa poprawnie.
Dlaczego? Jakieś pomysły?
Czy jesteś pewien, że model "Użytkownika" został zdefiniowany podczas deklarowania relacji? –
@mashingan Dołączyłem cały kod o modelu Zadań. możesz rzucić okiem? dzięki. –
Co powiesz na dołączenie kodu dla elementu FollowerCollection i użytkownika, abyśmy mogli spróbować znaleźć problem? Obecnie nie widzę żadnego związku między dwiema klasami. – jakee