0

これは私の Ember インスペクタ情報タブです:

私は ember-cli-mirage を使用していますが、ここで問題に直面しています。

モデルの属し関係を取得できません。私がそうするとき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})
});

私の蜃気楼/設定

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

検索色で車のリストを取得しますが、ユーザーを取得しません。満たされると null を返す promise を返します。

私はember-data 1.13.8を使用しているので

このMirageをjsonで使用しようとしましたが、エラーdatum model is not definedエラーが発生するため、何らかの理由で新しい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

4

1 に答える 1

0

解決策: リレーションシップを として保存していた問題が見つかりましたuser_id = user.id。そのはずuser=user.id

于 2015-09-13T11:26:07.770 に答える