3

Mixpanel with EmberJS で述べたように、すべての遷移で分析追跡を使用したい

そのためには、 を再度開くことができる必要がありますRouter

ember-simple-authそこに現在のセッションを取得する方法はありますか? 私の理解では、すべてのルートとコントローラーで利用できますが、特にルーターについては言及されていません。

編集

私が現在検討している別のアプローチは、分析の識別を行いたいすべてのルートに mixin を含めることです。次のようなミックスインがあります。

`import Ember from 'ember'`

AnalyticsMixin = Ember.Mixin.create
  beforeModel: (transition) ->
    @_super(transition)
    userId = @get('session.user_id')
    if (!Ember.isEmpty(userId))
      user = @store.find('user', userId)
      username = user.get('username') # this doesn't work

user_idセッション オブジェクトからを取得できますが、それ自体Session.reopenには が含まれていないようですuser。動作しません@store.find('user', userId)

以下は、テンプレートで正常に機能します。

Authentication =
  name: "authentication"
  before: "simple-auth"
  initialize: (container) ->
    Session.reopen
      user: (->
        userId = @get('user_id')
        if (!Ember.isEmpty(userId))
          return container.lookup('store:main').find('user', userId)
      ).property('userId')
    container.register("authenticator:custom", CustomAuthenticator)
4

1 に答える 1

2

Ember のコンテナーからいつでもセッションを取得できます。

container.lookup('simple-auth-session:main');
于 2014-07-09T19:09:43.513 に答える