私は Ember RC2 を使用しており、Ember-Data 12 には次の関係があります (簡略化)。
App.GlobalData = DS.Model.extend({
lat: DS.attr('number'),
lon: DS.attr('number'),
});
App.System = DS.Model.extend({
title: DS.attr('string'),
data: DS.belongsTo('App.GlobalData'),
});
私の(システム)ビューでは、次のように子のデータにアクセスしたいと考えています。{{ data.lat }}
Ember (現在は FixtureAdapter を使用していますが、将来的には RESTadapter でも機能させたいと考えています) は、子要素のデータを自動的に読み込まないようです。{{ data.id }}
(App.GlobalData.FIXTURES で指定された) id の値を返しましたが、返さ{{ data.lat }}
れましたundefined
。
アレイコントローラーを作成することで、この問題をある程度回避しました。
App.GlobalDatasController = Ember.ArrayController.extend({});
App.globalDatasController = App.GlobalDatasController.create({});
ApplicationRoute にすべての GlobalData をプリロードする
App.ApplicationRoute = Ember.Route.extend({
setupController: function() {
App.globalDatasController.set('content', App.GlobalData.find());
}
});
ただし、必要な GlobalData が 1 つしかない場合でも、すべてのGlobalDataをロードする必要があるため、これは良い解決策とは思えません。
これを処理する方法に関するベスト プラクティスがあると確信していますが、最善の調査努力にもかかわらず、それを見つけることができませんでした。
私の質問を要約すると:
- 子データを親と共にロードするように ember に指示する方法と場所は? (サイドロードせずに)
- サイドローディングが唯一のオプションである場合、FixtureAdapter でそれをどのように実装しますか?
ありがとう!