Коллекция коллекций Backbone.js

Я пытаюсь понять, как сделать Коллекцию коллекций с помощью backbone.js. Я новичок в бэкбоне. У меня есть что-то вроде следующей ситуации:

 +---------------+               +------------------+
 | Playlists     |               | Playlist         |
 |---------------|          0..* |------------------|
 |               +-------------->| Name             |
 |               |               |                  |
 |               |               |                  |
 +---------------+               +-------+----------+
                                         |
                                         |
                                         |0..*
                                         v
                                 +------------------+
                                 |  Track           |
                                 |------------------|
                                 | Name             |
                                 | Artist           |
                                 |                  |
                                 +------------------+

В коде это похоже на это:

var trackModel = Backbone.Model.extend({
    //trackdata
});

var playlistModel = Backbone.Collection.extend({
    model : trackModel,
    url   : "playlist"
});

var playlistsModel = Backbone.Collection.extend({
    url   : "playlists",
    model : playlistModel   //This pretty sure doesn't work like I want, because there is no model attribute for collections :S
});

Однако я всегда получаю сообщение об ошибке в консоли js, говорящее :

 Uncaught TypeError: Object [object Object] has no method '_validate'

, когда я пытаюсь выполнить функцию, которая запускает проверку (, например добавить, fetch,...)

Не имеет значения, добавляю ли я функцию validateили _validateк любой из коллекций или моделей.

Думаю, это связано с тем, что backbone.js не поддерживает коллекции в коллекциях. Есть ли другой работающий способ?

ОБНОВЛЕНИЕ:

Вот как это выглядит сейчас

var Track = Backbone.Model.extend({ 
    //trackdata 
}); 

var Tracks = Backbone.Collection.extend({ 
    model:Track; 
}); 

var Playlist = Backbone.Model.extend({ 
    //name  :...
    tracks: new Tracks ()
}); 

var Playlists = Backbone.Collection.extend({ 
    url : "playlists", 
    model : Playlist 
});
49
задан T J 14 December 2014 в 03:44
поделиться