_.bindAll(this) и Uncaught TypeError: невозможно прочитать свойство idAttribute неопределенного в backbone-relation.js

У меня есть две модели (пользовательская и задача), которые являются экземплярами 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)потому что, если я его прокомментирую, он будет работать правильно.
Почему? Есть идеи?


6
задан Lorraine Bernard 29 June 2012 в 11:53
поделиться