私は同じトピックについて調査していましたが、ここの情報は少し古くなっているようです. Ember 1.7.0 を使用して、ルートのエラーを処理する必要があります。これをアプリ全体に適用したい場合は、次のApplicationRoute
ようにクラスに追加する必要があります
// app/routes/application.js
import Ember from 'ember';
var ApplicationRoute = Ember.Route.extend({
actions: {
error: function (error, transition) {
// Handle the error here
if (error && error.status === 401) {
return this.transitionTo('login');
}
}
}
});
export default ApplicationRoute;
これは、ドキュメントで説明されているのと同じ方法です:こちらをお読みください
更新: Ember および Ember Data の新しいバージョンでは、エラー オブジェクトの構造が少し異なります。ステータスは、エラー配列内のエラー オブジェクト内に含まれる文字列になります。
actions: {
error: function(error, transition) {
if (error.errors[0].status === '401') {
this.transitionTo('sign-in');
}
}
}