Je suis à essayer de comprendre comment faire une Collection de collections avec backbone.js. Je suis assez nouveau à l'épine dorsale. J'ai quelque chose comme la situation suivante:
+---------------+ +------------------+
| Playlists | | Playlist |
|---------------| 0..* |------------------|
| +-------------->| Name |
| | | |
| | | |
+---------------+ +-------+----------+
|
|
|0..*
v
+------------------+
| Track |
|------------------|
| Name |
| Artist |
| |
+------------------+
Dans ce code ressemble à ceci:
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, becaus there is no model attribute for collections :S
});
Cependant j'ai toujours recevoir une erreur dans le js console en disant: Uncaught TypeError: Object [object object] n'a pas de méthode '_validate' lorsque j'essaie d'exécuter une fonction qui déclenche le valider (comme ajouter, extraire, ...)
Il ne fait aucune différence si j'ajoute le valider ou _validate fonction à l'une des collections ou des modèles.
Je crois que c'est parce que backbone.js ne prend pas en charge les collections en collections. Est-il un autre moyen qui fonctionne?
Merci
Mise à JOUR:
C'est à quoi il ressemble maintenant
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
});