我有一个使用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 data issue which appears to be now closed有关,Ember数据的升级可能在将来解决此问题。但是,在此期间我还能做些什么来处理这个问题吗?