2014-10-15 2 views
0

Я получаю эту ошибку:ExtJS 5.0.1: Невозможно использовать анонимные модели в сессии

[E] Ext.data.Session.checkModelType(): Unable to use anonymous models in a Session

при попытке использовать сеанс при связывании сетки с помощью магазина ViewModel:

ViewModel:

Ext.define('App.view.gridViewModel', { 
     extend: 'Ext.app.ViewModel', 
     alias: 'viewmodel.gridview', 

     stores:{ 
       gridstore: { 
         model: 'gridView', 
         autoLoad: true, 
         //This triggers the Exception: 
         session: true, 
         listeners: { 
           beforeload: function(store, operation, eOpts) { 
             var oProxy = this.getProxy(); 
             oProxy.setExtraParams({ 
               tableName: 'dbo.SomeTable' 
               , identityKey: "id" 
               , primaryKey: ["id"] 
               , mode: "readonly" 
               , lang: "es" 
               , output: 'json' 
             }); 
           } 
         } 
       } 
     } 
}); 

Вид:

012 Данные
Ext.define('App.view.gridView', { 
     extend: 'Ext.form.Panel', 

     //... 

     viewModel: { 
       type: 'gridview' 
     }, 

     controller: 'gridview', 

     // Create a session for this view 
     session:true, 

     items: [{ 
       xtype: 'grid', 
       reference: 'myGrid', 
       bind: '{gridstore}', 
       columns: [ 
         //... 
       ] 
     }] 

     //... 
}); 

с моделью является выборка через прокси-сервер:

Модель:

Ext.define ("App.model.gridView", { удлиняет: 'Ext.data.Model',

schema: { 
    namespace: 'App.model' 
}, 

proxy: { 
    //proxy remote api stuff...... 
}. 

idProperty: 'id'. 
primaryKeys: 'id'. 
fields: [ 
    //fields 
] 

});

Я понятия не имею, что такое анонимная модель есть и я ничего не нашел в Интернете, любые идеи?

Заранее благодарен!

ответ

0

Причина, кажется, что в ответ моего сервера У меня есть JSON объект под названием «МЕТАДАННЫЕ», который вступает в противоречие с одним доступны в формате JSON чтения:

Response MetaData

The server can return metadata in its response, in addition to the record data, that describe attributes of the data set itself or are used to reconfigure the Reader. To pass metadata in the response you simply add a metaData attribute to the root of the response data. The metaData attribute can contain anything, but supports a specific set of properties that are handled by the Reader if they are present:

http://docs.sencha.com/extjs/5.0/apidocs/#!/api/Ext.data.reader.Json

Любопытное заключается в том, что я не использую ни один из доступных опций метаданных для JSON Reader, ничего не связанного с какой-либо анонимной моделью, поэтому это может считаться ошибкой