拉力赛自定义数据存储问题

时间:2014-08-29 14:16:15

标签: rally

我正在尝试创建一个自定义拉力数据存储并将其传递给拉力赛网格。但我收到以下错误:“未捕获错误:无法配置没有定义模型的商店”。但我确实指定了自定义商店的模型。

未捕获错误:无法配置未定义模型的商店

    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
                    });

我错过了什么吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

自定义商店不需要model。自定义商店需要data拼接在一起 - 甚至可能来自不同的来源,这就是您使用自定义商店的原因,而不是wsapi商店来表示修改或折衷的数据。请参阅this exampleanother example,其中以下内容足以实例化自定义商店:

var store = Ext.create('Rally.data.custom.Store', {
                data: myCustomData
            });

但是,在将自定义数据从Rally数据拼接在一起之前,必须将初始Rally数据存储在Rally.data.wsapi.StoreRally.data.wsapi.artifact.Store中的代码中。这些商店需要model。检查您的代码以查看是否存在Rally存储,如果存在,是否存在model,因为错误可能来自您的代码部分。