私は今、このコードの部分に非常に悪い@苦労しています。ルートで次のように指定する動的セグメントがあります。
App.Router.map(function(){
this.resource('set', {path:'/set/:set_id'});
});
それに応じて、
App.SetRoute = Ember.Route.extend({
model: function(params){
return this.get('store').find('gift',params.set_id); // each set has a bunch of gifts that belong to it and are identified by set_id which acts as the primary key .
}
});
App.SetController = Ember.ArrayController.extend(); // array controller since I expect an array of gifts to be returned when visiting this route
これを実行すると、次のような明白なエラーが表示されます。
Object[Object Object] には addArrayObserver メソッドがありません
私のデータは、次のようなフィクスチャを介してロードされています:
App.Set.FIXTURES = [
{
id: 1,
name: 'EmberJS'
},
{
id:2,
name: 'Routing'
},
... ]
App.Gift.FIXTURES = [ { id : 1, gift_name: 'ランダムな名前', set_id: 1 },
{
id: 2,
gift_name: 'name 2',
set_id: 1
},
..]
Gift モデルは次のように拡張されます。
App.Card = DS.Model.extend({
gift_name: DS.attr('string'),
set_id : DS.belongsTo('App.Set')
});
ルートは、ハンドルバー内の #linkTo ヘルパー タグによって読み込まれ、set linkTo をクリックすると、次のように期待どおりにレンダリングされます。
/set/1 または /set/2
ただし、データはロードされません。セットに属する特定のギフトデータをロードしたいのですが、次のように表示され続けます。
オブジェクト [object Object] にはメソッド 'addArrayObserver' エラーがありません。
どこが間違っているのか、ここで何が欠けているのでしょうか?