У меня есть отношения с альбомами и песнями. В новом альбоме я прошу песни в одно и то же время, сначала я пытаюсь сохранить модель альбома, а затем сохранить коллекцию песен и прикрепить ее к альбому.Backbone - sync не обнаруживает мою коллекцию url
Мое определение коллекции песня:
define(function(require){
var Song = require('models/songModel');
Songs = Backbone.Collection.extend({
url: 'songs/',
model: Song,
});
return Songs;
});
создать свою коллекцию песен, как это:
this.songCollection = new Songs();
//In some other view that saves the songs files and returns a hash
that.songCollection.add({title:file.name,song_file:response['file_hash']});
Затем я сохранить модель альбома и успеха пытаются сохранить коллекцию песен, добавив новый альбом pk для всех моделей в коллекции песен:
that = this;
this.model.save(null,{
success: function(model,response){
that.songCollection.each(function(song){
song.set('album',model.get('id'));
});
that.songCollection.sync('create');
},
error: function(response){
console.log(response);
}
});
Однако он возвращает A 'url' property or function must be specified
, но у меня есть это, как вы можете видеть ранее. Я также пытался зарегистрировать его перед вызовом синхронизации и правильно вернул URL-адрес. Я что-то упустил в этом процессе? Или я не могу сразу создать все эти новые песни на моем сервере?
Попробуйте установить свойство 'urlRoot' вашей модели (а не коллекции). – craftsman
Я тоже пробовал, но он продолжает возвращать ту же ошибку. – Nocturn