我正在構建我的第一個EmberJS應用程序,並且仍然試圖圍繞最佳實踐&慣例。我正在使用ember-data與RESTful API交談,並且ember-auth運行良好,足以登錄並保存用戶的ID & OAuth2訪問令牌。不過,我現在想維護額外的用戶信息(例如名稱,電子郵件等),以用於導航欄和應用程序的各個其他區域。哪裏可以保存EmberJS應用程序的詳細用戶會話信息?
爲此,我認爲從單獨的端點(例如/users/<id>
)讀取用戶對象(模型)會有所幫助。由於此信息,將需要在整個應用程序,我傾向於將其存儲在ApplicationController
,有點像this example從Ember的文檔:
App.ApplicationController = Ember.Controller.extend({
// the initial value of the `search` property
search: '',
query: function() {
// the current value of the text field
var query = this.get('search');
this.transitionToRoute('search', { query: query });
}
});
然而,我的用戶對象將不完全像query
或行動像search
這樣的房產,所以我不確定這個例子是否適用。
我想我會最終要調用類似:
this.get('store').find('user', App.Auth.get('userId'));
,但我只是不知道在哪裏的app會去。
主要問題:ApplicationController
是每個Ember約定的這個信息的正確位置,如果是這樣,那麼代碼看起來像從REST API檢索它的代碼是什麼?
欣賞任何想法讓我走上正軌。
非常有幫助的,這完美的作品,謝謝!另一個說明:我剛剛發現,ember-auth在登錄時支持拉取用戶模型(請參閱[docs](http://ember-auth.herokuapp.com/docs),「我的應用程序有一個用戶模型稱爲「成員」,實現'find(id)'。「)。其他人也可能會覺得這很有幫助。 – bcm360