Я пытался запустить это некоторое время. В основном у меня есть API для отдыха в качестве бэкэнда, который возвращает json, все в порядке.
Проблема, с которой я столкнулся, связана с магистральной-реляционной сетью. Я уверен, что у меня что-то есть неправильно, но я некоторое время искал сети и не мог найти ничего, чтобы помочь.
Я пытаюсь установить связь между моделями «Профессия» и «Оружие». Вот мой код для этого:
Profession = Backbone.RelationalModel.extend({
urlRoot: '../api/professions',
relations: [{
type: Backbone.HasMany,
key: 'weapons',
relatedModel: 'Weapon',
collectionType: 'Weapons',
reverseRelation: {
key: 'profession',
includeInJSON: 'id',
keySource: 'profession_id'
}
}]
});
Weapon = Backbone.RelationalModel.extend({
urlRoot: '../api/weapons'
});
Weapons = Backbone.Collection.extend({
model: Weapon,
url: function(models){
return '../api/weapons';
}
});
И вызов этих конечных точек API возвращает:
{name: "Profession1", id: 1}
[{name: "Weapon1", profession_id: 1}, {name: "Weapon2", profession_id: 1}]
Итак, если я правильно понимаю, profession.fetchRelated('weapons')
должен отправить http-запрос на URL для коллекции оружия и вытащить объект, у которого есть профессия_id of 1. Но ничего не происходит, когда я запускаюprofession.fetchRelated('weapons')