Коллекция коллекций Backbone.js
Я пытаюсь выяснить, как сделать коллекцию коллекций с помощью backbone.js. Я довольно новичок в позвоночнике. У меня что-то вроде следующей ситуации:
<code> +---------------+ +------------------+ | Playlists | | Playlist | |---------------| 0..* |------------------| | +-------------->| Name | | | | | | | | | +---------------+ +-------+----------+ | | |0..* v +------------------+ | Track | |------------------| | Name | | Artist | | | +------------------+ </code>
В коде это выглядит примерно так:
<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>
Однако я всегда получаю сообщение об ошибке в консоли js:
<code> Uncaught TypeError: Object [object Object] has no method '_validate' </code>
когда я пытаюсь выполнить функцию, которая запускает валидацию (например, add, fetch, ...)
Не имеет значения, если я добавлюvalidate
или же_validate
функция для любой из коллекций или моделей.
Я считаю, что это потому, что backbone.js не поддерживает коллекции в коллекциях. Есть ли другой способ, который работает?
UPDATE:
Вот как это выглядит сейчас
<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>