【发布时间】:2016-01-12 15:07:48
【问题描述】:
我在 ember 1.13 中使用 Rails 后端实现前端,但遇到以下问题:
用户通过身份验证后,我似乎无法从后端检索用户的记录。浏览器调试器甚至不显示正在发出的请求。这是代码:
// app/services/session-user.js
import Ember from 'ember';
const { inject: { service }, RSVP } = Ember;
export default Ember.Service.extend({
session: service('session'),
store: service(),
loadCurrentUser() {
currentUser: {
var userId = this.get('user_id');
if (!Ember.isEmpty(userId)) {
return this.get('store').findAll('user', userId);
}
}
}
});
有一个登录控制器来处理身份验证。但是获取数据的代码在应用程序的路径中:
// app/routes/application.js
import Ember from 'ember';
import ApplicationRouteMixin from 'ember-simple-auth/mixins/application-route-mixin';
const { service } = Ember.inject;
export default Ember.Route.extend(ApplicationRouteMixin, {
sessionUser: service('session-user'),
beforeModel() {
if (this.session.isAuthenticated) {
return this._loadCurrentUser();
}
},
sessionAuthenticated() {
this._loadCurrentUser();
},
_loadCurrentUser() {
return this.get('sessionUser').loadCurrentUser();
},
});
为了额外的措施,我正在定义会话存储:
// app/session-stores/application.js
import Adaptive from 'ember-simple-auth/session-stores/adaptive';
export default Adaptive.extend();
如果有我应该发布的文件,请告诉我。
任何提示都将受到高度赞赏,因为我对 ember 还很陌生。我花了几个小时研究但没有运气,因为在整个版本中情况似乎发生了很大变化。
【问题讨论】:
标签: ruby-on-rails ember.js ember-data ember-simple-auth