我正在构建我的第一个 EmberJS 应用程序,并且仍在尝试围绕最佳实践和约定进行思考。我正在使用 ember-data 与 RESTful API 对话,并且ember-auth运行良好,可以登录并保存用户的 ID 和 OAuth2 访问令牌。但是,我现在想保留其他用户信息(例如姓名、电子邮件等),以便在导航栏和应用程序的各个其他区域中使用。
为此,我认为拥有一个从单独的端点(例如/users/<id>
)读取的用户对象(模型)会很有帮助。由于整个应用程序都需要此信息,因此我倾向于将其存储在 中ApplicationController
,有点像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'));
但我只是不确定应用程序会去哪里。
主要问题:ApplicationController
根据 Ember 约定,此信息的正确位置是否正确,如果是,从 REST API 检索它的代码会是什么样子?
感谢任何让我走上正轨的想法。