Bạn đang cố gắng thiết lập và chạy trong một thời gian. Về cơ bản tôi có một phần còn lại api như phụ trợ mà trả về json, tất cả tiền phạt.fetchRelated not fetching related
Vấn đề tôi gặp phải là có quan hệ xương sống. Tôi chắc chắn rằng tôi đã có một cái gì đó sai, nhưng tôi đã được tìm kiếm trên lưới trong một thời gian và không thể tìm thấy bất cứ điều gì để giúp đỡ.
Tôi đang cố gắng có được nhiều mối quan hệ giữa mô hình "Chuyên nghiệp" và "Vũ khí". Dưới đây là mã của tôi cho rằng:
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';
}
});
Và một cuộc gọi đến những lợi điểm cuối api:
{name: "Profession1", id: 1}
[{name: "Weapon1", profession_id: 1}, {name: "Weapon2", profession_id: 1}]
Vì vậy, nếu tôi hiểu đúng một profession.fetchRelated('weapons')
nên gửi một HttpRequest để url cho bộ sưu tập vũ khí và kéo đối tượng có một nghề nghiệp là 1. Nhưng không có gì xảy ra khi tôi chạy profession.fetchRelated('weapons')
Cảm ơn bạn đã làm rõ. Có lẽ tôi chỉ nên thay đổi các phản ứng API để bao gồm các mô hình lồng nhau như tôi muốn họ có sẵn ngay sau khi "nghề nghiệp" được lấy. – JonasFromell
Vấn đề tôi gặp phải là khi bạn có hàng chục ngành nghề, mỗi ngành có hàng tá vũ khí chồng chéo hơi. Bao gồm các đối tượng vũ khí đầy đủ với mỗi nghề dẫn đến đống dữ liệu dư thừa. Thật tuyệt vời cho ví dụ nhỏ này, nhưng đối với một ứng dụng lớn, không hoàn toàn khả thi. –