これは私の 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