反向关系有时无法正确显示

时间:2015-08-13 15:06:47

标签: ember.js ember-data

我有两个模型,问题和用户。

问题有两个属于User,owner和creator的属性。

当issues / index.hbs模板呈现问题时,某些所有者和创建者是正确的,但是其他人丢失了,即使它们之前显示的相同。例如,创作者Jhon(id 4)出现在一些问题中但不出现在其他问题中,它们具有相同的创建者:4

在Chrome中使用Ember检查器,这些用户已正确加载,因此他们就在那里。

问题模型:

import DS from 'ember-data';

export default DS.Model.extend({
  title: DS.attr('string'),
  ...,
  owner: DS.belongsTo('user', { inverse: 'owner_user',async:true }),
  creator: DS.belongsTo('user', { inverse: 'creator_user',async:true })
});

用户模型:

import DS from 'ember-data';

export default DS.Model.extend({
  full_name: DS.attr('string'),
  owner_user: DS.belongsTo('issue',{ inverse: 'owner',async:true}),
  creator_user: DS.belongsTo('issue',{ inverse: 'creator',async:true})
});

模板:

{{issue.creator.given_name}}
{{issue.owner.given_name}}

JSON:

issues: [
{
id: 5,
title: "xxxxxxxxxxxxxxxxxxx",
messages: [11,25],
creator: 100,
owner: 249
},
{...},{...}]

我做错了什么?

感谢,

1 个答案:

答案 0 :(得分:0)

我认为这是因为您在问题2中属于用户和属于问题的用户2字段。恩伯不能决定谁是谁。尝试从问题中删除反向选项,并从用户中删除owner_user和creator_user,看看它是否有效。