バックボーンには、次の構造のモデルがあります。
m.Survey = m.BaseModel.extend({
initialize: function() {
this.saveInvites = _.debounce(this.saveInvites, 1000);
},
/**
* What should this function do?!
* @return {[type]}
*/
saveInvites: function(){
},
urlRoot: '/api/surveys',
relations: [{
type: Backbone.HasMany,
key: 'invites',
relatedModel: 'APP.Models.SurveyInvite',
collectionType: 'APP.Collections.SurveyInvites',
//save invites separately
includeInJSON: false,
reverseRelation: {
key: 'survey',
//We don't want to list the survey when doing toJSON()
includeInJSON: false
}
}]
});
サーバー側には同じスキーマがあります
var SurveyInviteSchema = new Schema({
account: {type: Schema.Types.ObjectId, ref: 'Account', required: true},
survey: {type: Schema.Types.ObjectId, ref: 'Survey', required: true},
key: String
});
var SurveySchema = new Schema({
start_date: Date,
end_date: Date,
title: String,
invites: [SurveyInviteSchema],
});
私のアプリケーションでは、招待モデルのコレクションを作成し、招待のリストをサーバーに送信して保存する必要があります。後で、招待を更新するために新しいコレクションを送信することがあります (削除または追加)。
- バックボーンに招待属性だけをサーバーに送信するように指示するにはどうすればよいですか (つまり /api/survey/[id]/invites
- サーバーに招待配列をクリアして調査入力に置き換えるように指示するにはどうすればよいですか
- バックボーンリレーショナルで適切に更新されるように、サーバーはバックボーンに何を返す必要がありますか (正しい ID を招待に与えます)。