Данные ember 1.13.8 и путаница
Это моя информационная вкладка Ember:
Я использую Ember-Cli-Mirage, и я столкнулся с проблемой здесь.
Я не могу получить отношение к модели. Когда я делаю car.get('user')
, Я получаю обещание в результате, которое будет выполнено, но значение всегда null
,
Моя пользовательская модель импортирует DS из 'ember-data';
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
};
});
Я получаю список автомобилей с цветом поиска, но я не получаю пользователя. он возвращает обещание, которое при полном исполнении дает ноль.
Так как я использую ember-data 1.13.8
Я пытался использовать этот Mirage, работая с 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
Я вижу user_id в моем возвращенном json.
РЕШЕНИЕ: обнаружил проблему, в которой я сохранял отношения как user_id = user.id.
Так должно быть user=user.id
1 ответ
РЕШЕНИЕ: обнаружил проблему, в которой я сохранял отношения как user_id = user.id
, Так должно быть user=user.id