私は完全に立ち往生しました、ここにフィドルがあります。この例では、url / cars / detailsにアクセスしたときに追加のデータをロードできるようにしたいのですが、どうすればそれができるのかわかりません。
これが私のモデルです:
App.Cars = DS.Model.extend({
name: DS.attr('string'),
details: DS.belongsTo('App.Details')
});
App.Details = DS.Model.extend({
name: DS.attr('string'),
color: DS.attr('string'),
wheels: DS.attr('string')
});
そしてここで短縮されたフィクスチャ
App.Cars.FIXTURES = [{
id: 1,
name: 'Alfa Romeo',
details: 1
}];
App.Details.FIXTURES = [{
id: 1,
name: 'Alfa Romeo',
color: 'Red',
wheels: '14'
}];
それを実現するためのアイデアはありますが、私は非常に単純なものを見逃していると確信しています。
編集
興味深いのは、元のプロジェクトで、詳細を表示するはずのURLをリロードすると、詳細が表示されることですが、それは1回だけです。モデルをコンソールに印刷しました。
App.DetailsRoute = Ember.Route.extend({
model: function(params) {
console.log(params) // prints once only if loaded app was loaded to this url
return App.Details.find(params.table_id);
},
setupController: function(controller, model) {
console.log(model) // prints every time you click on a car
controller.set('content', model);
}
});