2013-07-05 30 views
1

所以我一直在遵循教程https://github.com/heartsentwined/ember-auth-rails-demo來掛接一個帶有rails後端的ember前端以進行身份​​驗證。我可以通過提交表單來驗證身份,這很好!但是現在我發現我想用當前用戶的信息做一些事情。Ember-auth currentUser

現在,我可以成功登錄並在登錄時提供一個按鈕以退出登錄。不過,我想這樣做"You are signed in as {{currentUser.username}}. Sign Out"

我在灰燼-auth的問題#11他們顯然在一個點上實現這樣的事情看到:

https://github.com/heartsentwined/ember-auth/issues/11

然而,在我的authview符號後顯示「您已登錄爲」註銷「

我懷疑用戶現在可能沒有加載到應用程序中。我知道我可以簡單地在控制器中查詢當前用戶的數據庫,但是我認爲這個功能應該是可用的應用程序範圍。這裏有最佳做法還是我應該自己實施一些東西?

驗證設置

App.Auth = Em.Auth.create 
    signInEndPoint: '/users/sign_in' 
    signOutEndPoint: '/users/sign_out' 
    tokenKey: 'auth_token' 
    tokenIdKey: 'user_id' 
    userModel: 'App.User' 

回答

2

你有一個用戶模式和不燼-auth的認識呢?

App.Auth = Ember.Auth.create 
    # stuff... 
    userModel: 'App.User' 
+0

是的,我在上面添加了我的Auth.create塊。 – DVG

+0

userModel必須是一個字符串,而不是一個對象,如你的例子。另外,您的API是否允許/ users /:id獲取用戶數據? 'App.User.find(YOUR_ID)'在控制檯中工作嗎? –

+0

是的。在將它轉換爲字符串後,我可以通過在控制檯中執行App.Auth.get('user')。get('email')'來獲取電子郵件,但是試圖將它嵌入到句柄中會給出一個coffeescript解析錯誤 – DVG

1

讀你上面提到的文檔後,正確的方式來獲得訪問您的模板currentUser對象應該是:

"You are signed in as {{App.Auth.currentUser.email}}. Sign Out" 

不僅{{currentUser.username}}。我使用App.Auth.currentUser.email,因爲我還沒有看到Auth.currentUser對象上有任何username屬性,但如果確實有一個屬於我的話,那麼你當然可以使用它。

希望它有幫助。