Sammlung von Sammlungen von Backbone.js

Ich versuche herauszufinden, wie man mit backbone.js eine Sammlung von Sammlungen erstellt. Ich bin ziemlich neu im Rückgrat. Ich habe so etwas wie die folgende Situation:

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

Im Code sieht das ungefähr so ​​aus:

<code>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
});
</code>

Allerdings erhalte ich immer eine Fehlermeldung in der js-Konsole:

<code> Uncaught TypeError: Object [object Object] has no method '_validate'
</code>

wenn ich versuche, eine Funktion auszuführen, die das Validieren auslöst (wie add, fetch, ...)

Es macht keinen Unterschied, ob ich das hinzufügevalidate oder_validate Funktion zu jeder der Sammlungen oder Modelle.

Ich glaube, das liegt daran, dass backbone.js keine Sammlungen in Sammlungen unterstützt. Gibt es einen anderen Weg, der funktioniert?

AKTUALISIEREN:

So sieht es jetzt aus

<code>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 
});
</code>

Antworten auf die Frage(1)

Ihre Antwort auf die Frage