显示在模板中的重复记录

时间:2016-03-29 09:44:00

标签: ember.js firebase ember-data emberfire

我有一个使用Ember JS构建的调查应用程序和带有Emberfire适配器的Firebase后端。

以下是我的用户模型的相关部分:

#include<stdio.h>
#include<string.h>

int main()
{
    char far *p,*q;
    printf("%d %d",sizeof(p),sizeof(q));
    return 0;
}

我的responseSet(来自用户的回复集合)

//app/models/user.js
export default DS.Model.extend({
  name: DS.attr(),
  sessionuid: DS.attr(),
  surveysToTake: DS.hasMany('survey', { async: true, inverse: 'respondents' }),
  surveysCreated: DS.hasMany('survey', { async: true, inverse: 'creator' }), 
  responseSetsSubmitted: DS.hasMany('response-set', {async: true, inverse: 'respondentid'}),
  respSetSurveyLookup: DS.attr({defaultValue: function() { return []; }}) 
});

调查模型如下:

//app/models/response-set.js
export default DS.Model.extend({
  responses: DS.hasMany('response', { async: true, inverse: 'responseSet' }),
  survey: DS.belongsTo('survey', { async: true, inverse: 'responseSets' }),
  respondentid: DS.belongsTo('user', {async: true, inverse: 'responseSetsSubmitted'}),
});

现在,在创建用户时,我们会做这样的事情......

//app/models/survey.js
export default DS.Model.extend({
  title: DS.attr(),
  questions: DS.hasMany('question', { async: true, inverse: 'survey' }),
  respondents: DS.hasMany('user', { async: true, inverse: 'surveysToTake'}),
  responseSets: DS.hasMany('response-set', { async: true, inverse: 'survey' })
});

用户按预期添加。但是,在我的模板(显示在与“添加用户”部分相同的路径上)中,同一记录会多次显示。

其他信息:

  • 我使用Ember 1.13.11和Ember Data 1.13.11以及EmberFire 1.6.3
  • 刷新页面或重新加载(使用'location.reload()')会导致 用户记录按预期显示。

这可能与Ember data issue which appears to be now closed有关,Ember数据的升级可能在将来解决此问题。但是,在此期间我还能做些什么来处理这个问题吗?

0 个答案:

没有答案