未捕获的Rally.data.ModelFactory.getModel():找不到类型的注册工厂:milestone

时间:2015-01-22 08:07:08

标签: extjs extjs4 rally

尝试为每个版本显示里程碑,但在尝试为Milestone创建DataStore时收到错误 未捕获的Rally.data.ModelFactory.getModel():找不到类型为:milestone的注册工厂 以下是我的代码对此的任何想法或建议

            _getMileStones: function(startDate, endDate, project_id) {
                var startDateFilter = Ext.create('Rally.data.QueryFilter', {
                    property: 'TargetDate',
                    operator: '>',
                    value: startDate
                });
                startDateFilter = startDateFilter.and({
                    property: 'TargetDate',
                    operator: '<',
                    value: endDate
                });
                startDateFilter = startDateFilter.and({
                    property: 'TargetDate',
                    operator: '!=',
                    value: null
                });
                startDateFilter = startDateFilter.and({
                    property: 'TargetDate',
                    operator: '!=',
                    value: null
                });
                var filters = startDateFilter;
                Ext.create('Rally.data.wsapi.Store',{
                    model: 'milestone',
                    autoLoad: true,
                    filters: filters,
                    context: {
                        project: project_id,
                        projectScopeDown: true,
                        projectScopeUp: false
                    },                          
                    fetch: ['Name','FormattedID','DisplayColor'],
                    listeners: {
                        load: function(store,records) {
                            console.log("records values", records);
                        }
                    }       
                }, this);   
            },

1 个答案:

答案 0 :(得分:1)

AppSDK2目前稳定的rc3发布候选者早于里程碑。它们不适用于rc3。当我使用rc3时,我得到了同样的错误。如果我在应用程序的配置文件中切换到&#34; x&#34;,并使用rab build重建应用程序,则错误消失:

{
   "name": "myapp",
   "className": "CustomApp",
   "server": "https://rally1.rallydev.com",
   "sdk": "x",
   "javascript": [
      "App.js"
   ],
   "css": [
      "app.css"
   ]
}

一般不推荐使用&#34; x&#34;因为它是不断变化的。它不是一个稳定的版本。但只要你知道,你可以使用&#34; x&#34;。 AppSDK下一个版本未来可能不会太远,它将包括对里程碑的支持。

更新:AppSDK2.0 GA尚未公布,但预计很快将发布。如果您使用"sdk":"2.0",则会获得里程碑数据。

&#34; X&#34;返回里程碑,但它是一个不断变化的头版本。 2.0rc3没有里程碑。

即使它尚未正式推出,您也可以选择使用2.0。

这个应用示例:

Ext.define('CustomApp', {
    extend: 'Rally.app.App',
    componentCls: 'app',
    launch: function() {
        Ext.create('Rally.data.wsapi.Store',{
            model: 'milestone',
            autoLoad: true,                         
            fetch: ['Name'],
            listeners: {
                load: function(store,records) {
                    console.log("records values", records);
                }
            }       
        }, this);  
    }
});

与此配置一起:

{
   "name": "milestones",
   "className": "CustomApp",
   "server": "https://rally1.rallydev.com",
   "sdk": "2.0",
   "javascript": [
      "App.js"
   ],
   "css": [
      "app.css"
   ]
}

将返回里程碑数据:

enter image description here