2016-08-22 13 views
1

特に、APIエンドポイントがダウンしているときにEmberアプリケーションのエラー処理を実装しようとしています。Emberアプリケーションはエラー時に空白ページしか表示せず、「エラー」アクションをレンダリングできません

applicationルート内にerror()アクションを使用してエラーテンプレート(error.hbs)をレンダリングしようとしました。レンダリングは、内部エラー(Cannot read property 'push' of undefinedsee line in Emberになります

をアイデアは、次のアクションを使用したエラーページにレンダリングするには:。?私は、少なくとも何かをレンダリングするエンバーを強制するにはどうすればよい

error() { 
     this.render('error', { 
      into: 'application' // does not seem to exist 
     }); 
    } 

私はCannot read property 'push' of undefinedためのエンバー2.7.0

+0

レンダリングされるアプリケーションerror.hbsテンプレートファイルを定義する?..あなたは以下試すことができます 'エラー(エラー、遷移){ if(エラー){ return this.transitionTo( 'error-page'); } } ' – kumkanillam

+0

@kumkanillamは(バックエンドを使用しない)別のページに移行すると' undefined'エラーになりますが、Emberの中に別の場所があります。基本的に同じ問題。 – Maddis

答えて

2

理由を使用して、私は自分自身がアプリケーションのルートモデルフック(beforeModel、モデル、afterModeのいずれかのエラーのためにレンダリングされていない、あなたのapplication.hbsを推測l)。あなたはそれがrederedされていない場合、error.hbsをアプリケーションにレンダリングすることはできません。

ので、アプリケーションのルートからerrorアクションを削除し、アプリケーションのルートモデルフックでエラーになっている自動

Ember-twiddle

+0

は 'application-error.hbs'(感謝!)について知りませんでした。エラーはアプリケーションフックには表示されませんが、ネストされたルートには表示されません。もう一度解決策があるかどうかを確かめるために、私はたぶんこれを答えとしてマークします。 – Maddis

関連する問題