私は次のような人物モデルを持っています
App.Person= DS.Model.extend({
id: DS.attr('string'),
name: DS.attr('string'),
visits: DS.hasMany('App.Visit'),
events: DS.hasMany('App.Event') ,
allergies: DS.hasMany('App.Allergies'),
get_allergies : function(){
return this.get('allergies').getEach('allergy_name').reduce(function(accum, item) {
return (accum.length > 0) ? (accum +', '+ item) : (item);
}, '');
}.property('allergies.@each.allergy_name')
});
App.Visit = DS.Model.extend({
visit_id: DS.attr('string'),
date: DS.attr('date'),
admission: DS.belongsTo('App.Admission')
});
App.Admission = DS.Model.extend({
loc: DS.attr('string'),
admission_date: DS.attr('date'),
care_team: DS.belongsTo('App.CareTeam')
});
ご覧のとおり、Person hasMany の「allergies」と person に加えて、allergies もロードされています。これは、UI で get_allergies メソッドを呼び出しているのに、「visits」や「events」などの他の hasMany 関係がロードされていないためです。
UI {{person.get_allergies}}
「訪問」と「イベント」の関係をサイドロードしようとしましたが (ネット上の例を使用)、うまくいきませんか? stackoverflow自体に関するいくつかの質問を除いて、ネット上の例を含む適切なドキュメントが見つからなかったため、誰かがember-dataをサイドロードする適切な方法を教えてもらえますか?