2013-10-02 2 views
1

Based on some examples из Ext.data.Model с ассоциациями Я написал следующий класс:Декларирование модель с belongsTo не создает геттер

Ext.define('MyApp.model.Children',{ 
    extend: 'Ext.data.Model', 
    fields : [{ 
    name: 'parent' //object of the belongsTo 
    },{ 
    name: 'description', 
    type: 'string' 
    }], 
    belongsTo : [{ 
    name: 'parent', 
    foreignKey: 'parent', //also tried parent.id 
    instanceName: 'parent', 
    getterName: 'getParent', 
    model: 'MyApp.model.Parent' 
    }], 
    proxy : { 
    type: 'rest', 
    url: '../rest/children', 
    reader : { 
     type: 'json', 
     root: 'data' 
    } 
    } 
}); 

Не следует ли это определение генерировать метод getChildren? MyApp.model.Parent также имеет определенный прокси.

Я тестирую с:

var store = Ext.create('Ext.data.Store',{ 
    model: 'MyApp.model.Children' 
}); 

store.load(function(recs){ 
    console.log(recs[0].getParent); //prints undefined instead of function 
}); 

ответ

0

Похоже, ваша материнская модель не загружена. Попробуйте добавить конфигурацию requires в модель вашего ребенка.

Ext.define('MyApp.model.Children', { 
    extend: 'Ext.data.Model', 

    //ensures the Parent model is loaded first 
    requires: 'MyApp.model.Parent', 

    fields: ... 
Смежные вопросы