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)