У меня есть две модели (пользовательская и задача), которые являются экземплярами Backbone.RelationalModel
.
Связь между этими двумя моделями следующая:
// Task model
var Task = Backbone.RelationalModel.extend({
relations: [
{
type: 'HasOne',
key: 'user',
relatedModel: User
}
],
urlRoot: 'someUrl'
});
Затем у меня есть одна коллекция, код которой выглядит следующим образом:
var FollowerCollection = Backbone.Collection.extend({
initialize: function () {
_.bindAll(this);
}
model: User
});
var User = Backbone.RelationalModel.extend({
});
Когда я делаю выборку для FollowerCollection, я получаю следующую ошибку:
Uncaught TypeError: Cannot read property 'idAttribute' of undefined
в строке 1565 из backbone-relation.js из backbone-relation версии 0.5.0
Вот фрагмент кода backbone-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 ] );
Проблема связана с _.bindAll(this)
потому что, если я его прокомментирую, он будет работать правильно.
Почему? Есть идеи?