"TypeCrror no capturado: undefined no es una función" que inicializa la colección Backbone

Tengo una colección de Backbone algo como lo siguiente:

var FooCollection = Backbone.Collection.extend({
    model:Foo,

    initialize: function (attributes, options) {
        this.barId = options.barId;
    }
});

var Foo = Backbone.Model.extend({});

Cuando trato de inicializar esto, obtengo "Uncought TypeError: undefined no es una función" en el_prepareModel() funcion deBackbone.Collection.

La mala llamada esta enmodel = new this.model(attrs, options).

// Prepare a model or hash of attributes to be added to this collection.
_prepareModel: function(model, options) {
  options || (options = {});
  if (!(model instanceof Model)) {
    var attrs = model;
    options.collection = this;
    model = new this.model(attrs, options); // <-- BLOWS UP HERE
    if (!model._validate(model.attributes, options)) model = false;
  } else if (!model.collection) {
    model.collection = this;
  }
  return model;
},

Cuando paso por_prepareModel() en el depurador, parece que el tipo dethis en ese punto eschildythis.model es, de hecho, indefinido.

¿Alguien puede decirme qué estoy haciendo mal?

Respuestas a la pregunta(2)

Su respuesta a la pregunta