英国数据1.13.8和余烬海市蜃楼混淆

时间:2015-09-12 15:06:02

标签: ember.js ember-cli-mirage

这是我的Ember检查员信息标签:

我正在使用ember-cli-mirage,我在这里遇到问题。

我无法获得模型的belongsTo关系。当我执行car.get('user')时,我会在结果中得到一个已完成的承诺,但值始终为null

我的用户模型     从'ember-data'导入DS;

export default DS.Model.extend({
  name: DS.attr('String'),
  car: DS.belongsTo('car',{async: true})
});

我的车型

import DS from 'ember-data';

export default DS.Model.extend({
  color: DS.attr('String'),
  user: DS.belongsTo('user',{async: true})
});

my mirage / config

  this.get('/cars',function(db,request) {
    var qp = request.queryParams.searchString.toLowerCase();
    return {
      cars: db.cars.where({'color':qp}),
      users: db.users
    };
  });

我得到了带搜索颜色的汽车列表,但我没有得到用户。 它返回一个promise,当fullfilled为null时。

因为我使用的是ember-data 1.13.8

我尝试使用此Mirage working with json,但后来我收到错误 基准模型没有定义错误,所以我想新的json api不是我的问题,由于某些原因我的ember数据使用旧的json格式和原始配置工作。

this.get('/cars', function(db, request) {
  return {
    data: db.cars.map(attrs => (
      {type: 'cars', id: attrs.id, attributes: attrs }
    ))
  };
})

我的汽车路线看起来像这样

 model: function(params) {
    self = this;
    if(!params){
        return [];
    }
    return this.store.findQuery('car',params);
  },

我试过

return this.store.findQuery('car',params).then(function(item){
      console.log(item.get('user'));
    });

但我仍然有console.log //undefined

我可以看到我的json中的user_id已经返回。

解:  发现问题是我将关系保存为user_id = user.id.应该是user=user.id

0 个答案:

没有答案