オブジェクトの「すべて」のレコードを最初に表示できるようにする、非常に基本的なルート設定があります。次に、ユーザーがドロップダウンを選択すると、日付を使用してこれをフィルタリングできます。
私は最近RC2にアップグレードし、「ニーズ」がcontrollerForを置き換えたか、まもなく置き換えることに気付きました。
日付が選択されたときに親の「レコード」ルートのコンテンツを変更するために「records.date」のネストされた/内部ルートが必要な以下の状況で「ニーズ」をどのように使用できるか興味があります。
以下に欠けているのは、App.RecordsDateRoute 内で、「レコード」コントローラーの内容を新しいフィルター (今回は日付順) に変更する必要があることです。私が行っているように見えるすべてのことは、ハンドルバー テンプレートをダンプし、何も表示しません。のような単純なものを使おうとしても
this.controllerFor("records").set('content', App.Record.find(new Date(model.loaded)))
RecordsDateRoute の setupController メソッド内から
App.Router.map(function(match) {
return this.resource("records", { path: "/" }, function() {
return this.route("date", { path: "/:date_loaded" });
});
});
App.RecordsController = Ember.ArrayController.extend({
selected: 0,
dates: Ember.computed(function() {
return App.Date.find();
}).property()
});
App.RecordsIndexRoute = Ember.Route.extend({
model: function() {
this.controllerFor("records").set("selected", 0);
return App.Record.find();
}
});
App.RecordsDateRoute = Ember.Route.extend({
model: function(params) {
//the controllerFor below seems to be working great ... but what about needs?
this.controllerFor("records").set("selected", params.date_loaded);
return App.Date.create({ loaded: params.date_loaded });
}
});