Estoy tratando de averiguar cómo hacer una colección de colecciones con backbone.js. Soy bastante nuevo en la columna vertebral. Tengo algo parecido a la siguiente situación:Backbone.js Colección de colecciones
+---------------+ +------------------+
| Playlists | | Playlist |
|---------------| 0..* |------------------|
| +-------------->| Name |
| | | |
| | | |
+---------------+ +-------+----------+
|
|
|0..*
v
+------------------+
| Track |
|------------------|
| Name |
| Artist |
| |
+------------------+
En el código esta es similar a esto:
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
});
Sin embargo siempre recibo un error en la consola JS diciendo:
Uncaught TypeError: Object [object Object] has no method '_validate'
cuando Intento ejecutar una función que desencadena la validación (como agregar, recuperar, ...)
Es m no hay diferencia si agrego la función validate
o _validate
a cualquiera de las colecciones o modelos.
Creo que esto se debe a que backbone.js no admite colecciones en colecciones. ¿Hay alguna otra manera que funcione?
ACTUALIZACIÓN:
Esto es como se ve en este momento
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
});
Parece que la documentación de la columna vertebral incluyen ahora una sección sobre modelos y colecciones anidadas, muy similar a este ejemplo: En primer lugar http://backbonejs.org/#FAQ-nested –
- contenta de que su problema resuelto. Esperemos que esto sea una respuesta para otros, pero su problema proviene de un modelo de datos incorrectamente definido: no hay "listas de reproducción" (solo tiene muchos objetos de lista de reproducción agrupados en un solo lugar), sus datos solo contienen "lista de reproducción" y " pista ", y hay relación 1 lista de reproducción puede tener muchas pistas. En su ejemplo simple (resuelto) este patrón es visible bastante claro. – Dainius