この例http://emberjs.com/guides/controllers/dependencies-between-controllers/に従って、アプリのネストされたリソースを実装しましたが、引き続きルートとタイプのエラーを受け取ります。
次のようにルートを作成しました。
App.Router.map(function () {
this.resource('logs', {path: '/'}, function(){
this.resource('log', {path:'/logs/:log_id'}, function(){
this.resource('triggers');
});
});
});
私のコントローラー:
App.TriggersController = Ember.ArrayController.extend({
needs:"log"
});
モデル:
App.Log = DS.Model.extend({
name: DS.attr('string'),
type: DS.attr('string'),
messages: DS.attr('string'),
triggers: DS.hasMany(App.Trigger, {async:true})
});
子モデル:
App.Trigger = DS.Model.extend({
name: DS.attr('string'),
pattern: DS.attr('string'),
isEnabled: DS.attr('boolean'),
colour: DS.attr('string'),
highlightText: DS.attr('boolean'),
invertContrast: DS.attr('boolean')
});
JSFiddle リンク: http://jsfiddle.net/WZp9T/11/
いずれかのリンクをクリックすると、コンソールにエラーが表示されます。
(「ルートの読み込み中にエラーが発生しました: TypeError {}」および「Uncaught TypeError: Undefined のプロパティ 'typeKey' を読み取れません」、および非推奨の警告)
基本的に、私が達成しようとしていることは次のとおりです。
ログ -> ログ -> ログ トリガー -> トリガー
各コンテキストは画面に表示されたままにする必要がありますが、どこが間違っているのでしょうか?
編集:これに問題があるようです:
App.LogIndexRoute = Ember.Route.extend({
model: function (params) {
return this.store.find(params.log_id);
}
});
そのコードを削除すると、エラーが表示されなくなります。