从Ember前面到Rails的请求没有发生

时间:2016-01-12 15:07:49

标签: ruby-on-rails ember.js ember-data ember-simple-auth

我在带有Rails后端的ember 1.13中实现了一个前端,并遇到了以下问题:

用户通过身份验证后,我似乎无法从后端检索用户的记录。浏览器调试器甚至不显示正在进行的请求。这是代码:

// 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();

如果有文件我应该发布,请告诉我。

任何提示都会受到高度赞赏,因为我对贪婪很新。我花了几个小时研究没有运气,因为在整个版本中似乎发生了很多变化。

1 个答案:

答案 0 :(得分:0)

查看您的服务代码。

    var userId = this.get('user_id');
    if (!Ember.isEmpty(userId)) {
      return this.get('store').findAll('user', userId);

    }

我没有看到您在设置user_id变量时提供的代码。因此,如果未定义user_id,则if语句将因!而无法执行。