ネストされたリレーショナル バックボーン プロジェクトを作成しようとしていますが、本当に苦労しています。私がやろうとしていることの大まかなアイデアを以下に示しますが、Client で fetch() を呼び出すと、JSON として返される予約に基づいて多数の予約が自動的に作成されるという印象を受けました。
JSON の形式は、MVC のアウトラインの下に表示されます。
/****************************************************
/* CLIENT MODEL - Logically the top of the tree
/* has a BookingsCollection containing numerous Booking(s)
/* Client
/* -Bookings [BookingsCollection]
/* -Booking [Booking]
/* -Booking [Booking]
/*****************************************************/
var Client = Backbone.RelationalModel.extend({
urlRoot: '/URL-THAT-RETURNS-JSON/',
relations: [
{
type: Backbone.HasMany,
key: 'Booking',
relatedModel: 'Booking',
collectionType: 'BookingsCollection'
}
],
parse: function (response) {
},
initialize: function (options) {
console.log(this, 'Initialized');
}
});
var Booking = Backbone.RelationalModel.extend({
initialize: function (options) {
console.log(this, 'Initialized');
}
});
var BookingsCollection = Backbone.Collection.extend({
model: Booking
});
私が間違っていることを概説する助けがあれば、大歓迎です。
ありがとう
編集
時間を割いてフィードバックを投稿していただきありがとうございます。まさに私が望んでいたものです。
手動で属性を設定する努力をしなければ、JSON がモデルの実際の属性を物理的に定義するということですか? つまり、返される JSON が上記で示唆したとおりである場合、Backbone は単純に Client オブジェクト (id、title、firstname、surname の 4 つの属性を持つ) と 2 つの Booking オブジェクト (それぞれに 4 つの属性があり、おそらくBookingsCollection の各メンバー)?
この場合、各オブジェクトの属性を参照するための形式は何ですか? 非バックボーン リレーショナル ミニアプリをセットアップすると、たとえば Client.Attribute や Booking[0].EventDate を使用して属性を参照するだけで済む状況になりました。上記で概説した形式ではこれを行うことができないようです。
再度、感謝します。