Принадлежит к модели ExtJS - PullRequest
1 голос
/ 25 октября 2011

У меня есть две модели: «Идентичность» и «Профиль».Идентификационный профиль «принадлежит».Когда я получаю запись типа «личность», я хочу (по этой записи) получить соответствующий профиль.Я пытаюсь использовать следующий код:

Ext.define('App.model.Identity', {
    extend: 'Ext.data.Model',
    fields: [
            // ...
            {name: 'id_profile',  type: 'int'},
            // ...
            ],

    belongsTo: {
        model: 'App.model.Profile',
        primaryKey: 'id',
        foreignKey: 'id_profile',
        associatedName: 'Profile'
    },

    proxy: {
        type: 'ajax',
        api: {
            read: App.Config.getBaseUrl() + '/admin_identity/list',
            create: App.Config.getBaseUrl() + '/admin_identity/create',
            update: App.Config.getBaseUrl() + '/admin_identity/update',
            destroy: App.Config.getBaseUrl() + '/admin_identity/destroy'
        },
        reader: {
            type: 'json',
            root: 'data'
        }
    }
});

Ext.define('App.model.Profile', {
    extend: 'Ext.data.Model',
    fields: [
            {name: 'id',  type: 'int'},
            // ...
            ],

    belongsTo: {
        model: 'App.model.Identity',
        primaryKey: 'id',
        foreignKey: 'id_profile',
        name: 'identities'
    },

    proxy: {
        // ...
    }
});

Когда я пытаюсь сделать это:

function viewProfile(identity) {
    identity.getProfile(function(profile){
        console.log(profile);
    });
}

Я получаю пустой объект профиля.Странно то, что класс Identity не сделал ни одного http-запроса для получения профиля.Я правильно делаю?

Заранее спасибо

1 Ответ

1 голос
/ 26 октября 2011

Вы пробовали:

identity.getProfile({
    success:function(profile, operation){
    },
    failure: function(profile, operation){
        //check for a failure
    }
});

Я бы также попытался удалить свойство relatedName.

...