1

このSO answerに従って、Ember Simple Auth セッションを取得しようとしてcontainer.lookup('simple-auth-session:main');いますが、これによりundefinedが得られます。

私は Ember Cli と Ember Simple Auth Devise オーセンティケーターを使用しています。

4

1 に答える 1

2

上記の@marcoowのコメントは魅力的でした。彼は私にこの例を指摘した

FIRST: カスタム セッションを登録するイニシャライザを追加する

Ember.Application.initializer(
  name: 'authentication'
  before: 'simple-auth'
  initialize: (container, application) ->
    container.register('session:custom', App.CustomSession)
)

2 番目: セッションをカスタム セッションに置き換えます

window.ENV['simple-auth'] = {
  session: 'session:custom'
}

3 番目: カスタム セッションを定義する

App.CustomSession = SimpleAuth.Session.extends(
  currentUser: (->
    unless Ember.isEmpty(@user_id)
      @container.lookup('session:main').load('user', @user_id)
      //Note! I'm using Ember Persistence Foundation, therefore 'session:main', 
      //but if you're using Ember Data, use 'store:main'
  ).property('user_id')
)
于 2014-08-18T06:48:59.360 に答える