Хранить многоуровневый - PullRequest
       6

Хранить многоуровневый

0 голосов
/ 09 сентября 2011

У меня есть следующий JSON:

{"service":
{"description":"Export a list of amendments.","id":"504e1bf57e8d2fdd92b6c316cd000b25","name":"AT4AM_AmendmentsList","notes":"Export a list of amendments in a defined format, Word or XML.\r\n\r\n\"keywords\" : [ \"AT4AM\", \"DST\", \"Amendment\", \"Export\", \"Word\", \"XML\" ]","revision":"2-cd375cfd296ba97e934f12794d4930e9","status":"study","type":"entity",
"versions":[{"description":"v1.0 description...","id":"504e1bf57e8d2fdd92b6c316cd0017c0","version":1}]}}

Я бы хотел отобразить список версий в сетке.

вот моя модель:

Ext.define('XXXX.model.Version', {
extend: 'Ext.data.Model',
fields : [ {
    name : 'id',
    type : 'string'
}, {
    name : 'description',
    type : 'string'
}, {
    name : 'version',
    type : 'string'
}],
belongsTo: 'XXXX.model.Service',
proxy: {
    type: 'rest',
    id: 'id',
    url : 'http://localhost:8080/xxxxx/services/service',
    reader: {
        type: 'json',
        root: 'versions'
    }
}       

});

Спасибо за помощь Medley

Ответы [ 2 ]

0 голосов
/ 19 сентября 2011

Вот решение, которое я нашел:

1 - я добавил это в модель 'Service'

{type: 'hasMany', model: 'XXXX.model.Version', name: 'versions'}

2 - я использовал сконфигурированный RestProxy, чтобы сделать запрос GET

Ext.ModelManager.getModel('XXXX.model.Service').load(serviceId, {
            success: function(service) {
            // Now, it is possible to access to all the versions of a service
            service.versions().each(function(version) {
                    listOfVersions.push(version.data);
    });

}
});

С уважением, Medley

0 голосов
/ 09 сентября 2011

используйте root: 'service.versions' в конфигурации вашего читателя.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...