ApplicationController init イベントのメタ タグから現在のユーザーを取得しています。
App.ApplicationController = Ember.Controller.extend({
needs: ['currentUser'],
init: function() {
'use strict';
this._super();
var attributes = $('meta[name="current-user"]').attr('content');
if (attributes) {
this.set('controllers.currentUser.content', App.User.create().setProperties(JSON.parse(attributes)));
}
},
また、ユーザーを認証する必要がある各ルートには、currentUser が設定されていない場合にリダイレクトするリダイレクト フックがあります。
App.UserEditRoute = Ember.Route.extend({
redirect: function() {
if (this.controllerFor('currentUser').get('isSignedIn') === false) {
this.transitionTo('user.login');
}
}
});
問題は、Route リダイレクト イベントが ApplicationController.init の前に発生することです。
これを実現する適切な方法は何ですか?
ありがとう!