我正在构建我的第一个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