0

私は現在、渡されたモデルで自分に移行できるようsessionAuthenticationSucceededに、クラスでオーバーライドしようとしています。Ember.SimpleAuth.ApplicationRouteMixinrouteAfterAuthentication

基本的には、関数のオーバーライドをthis.transitionTo(Configuration.routeAfterAuthentication, model);行った後でも、呼び出されることはありません。Ember.SimpleAuth.ApplicationRouteMixin.reopen()それで、私はこれについてすべて間違っていますか?この方法で Mixins を再度開くことはできませんか? routeAfterAuthenticationまたは、別の方法でモデルをトランジションに渡す必要があります。

編集:愚かな評判の制限は、これに自分で答えるつもりでしたが、どうやら8時間待たなければならないので、今のところその答えは次のとおりです。

これがこれを行う正しい方法であるかどうかは完全にはわかりませんが、機能します。私はこの例を見ていました: custom-serverそして、私が望んでいたことを達成するためにこれをやることになりました。

var applicationRoute = container.lookup('route:application');
var session = container.lookup('ember-simple-auth-session:main');
var store = container.lookup('store:main');

session.on('sessionAuthenticationSucceeded', function() {
    var user = store.find('user', session.get('user_id'));
    container.lookup('controller:application').set('content', user)
    applicationRoute.transitionTo('profile.resume', user);
});
4

2 に答える 2

1

sessionAuthenticationSucceeded最も簡単な解決策は、ミックスインを再度開くのではなく、単にアプリケーション ルートで を定義することです。

/// routes/application.js
import ApplicationRouteMixin from 'simple-auth/mixins/application-route-mixin';

export default Ember.Route.extend(ApplicationRouteMixin, {
  actions: {
    sessionAuthenticationSucceeded: function() {
      …
    }
  }
})
于 2014-06-26T08:20:56.327 に答える