我正在尝试创建一个自定义拉力数据存储并将其传递给拉力赛网格。但我收到以下错误:“未捕获错误:无法配置没有定义模型的商店”。但我确实指定了自定义商店的模型。
未捕获错误:无法配置未定义模型的商店
var retrievedRecords = myStore.getRecords();
var defectRecords = [];
Ext.Array.each(retrievedRecords, function(record) {
//Perform custom actions with the data here
//Calculations, etc.
defectRecords.push({
FormattedID: record.get('FormattedID'),
Name: record.get('Name'),
State: record.get('State'),
Release: record.get('Release'),
FixedInBuild: record.get('FixedInBuild'),
SubmittedBy: record.get('SubmittedBy'),
Owner: record.get('Owner'),
CreationDate: record.get('CreationDate'),
ReleaseNote: record.get('ReleaseNote')
});
});
this.newStore = Ext.create('Rally.data.custom.Store', {
data: defectRecords,
model: 'Defect',
autoSync:true,
listeners: {
load: this._newStoreOnLoad(),
scope: this
},
autoLoad: true
});
我错过了什么吗?
谢谢!
答案 0 :(得分:0)
自定义商店不需要model
。自定义商店需要data
拼接在一起 - 甚至可能来自不同的来源,这就是您使用自定义商店的原因,而不是wsapi商店来表示修改或折衷的数据。请参阅this example或another example,其中以下内容足以实例化自定义商店:
var store = Ext.create('Rally.data.custom.Store', {
data: myCustomData
});
但是,在将自定义数据从Rally数据拼接在一起之前,必须将初始Rally数据存储在Rally.data.wsapi.Store或Rally.data.wsapi.artifact.Store中的代码中。这些商店需要model
。检查您的代码以查看是否存在Rally存储,如果存在,是否存在model
,因为错误可能来自您的代码部分。