Модель ассоциации - PullRequest
       4

Модель ассоциации

3 голосов
/ 18 сентября 2011

Я получаю ошибку:

Uncaught TypeError: Cannot call method 'indexOf' of undefined
Ext.apply.urlAppend ext-all-debug.js:5040
Ext.define.buildUrl ext-all-debug.js:26324
Ext.define.buildRequest ext-all-debug.js:26148
Ext.define.doRequest ext-all-debug.js:26367
Ext.define.read ext-all-debug.js:26117
Ext.define.inheritableStatics.load ext-all-debug.js:26603
(anonymous function) ext-all-debug.js:51162
(anonymous function) test.html:89
isEvent ext-all-debug.js:10117
call ext-all-debug.js:10073

Я не знаю, что беспокоит.Я проверил структуру экземпляра в FF, и она действительно имеет функцию getCategory.Спасибо!

        Ext.define("Category", {
            extend: "Ext.data.Model",
            fields: ["id", "name"]
        });
        Ext.define("Product", {
            extend: "Ext.data.Model",
            fields: ["id", "name", "category_id"],
            associations: [{
                type: "belongsTo",
                model: "Category",
                primaryKey: "id",
                foreignKey: "category_id",
                associationKey: "category"
            }]
        });

        Ext.onReady(function(){
            var p = new Product({
                id: 1,
                name: "Kotomi",
                category_id: 2,
                category: {
                    id: 2,
                    name: "Clannad"
                }
            });
            console.log(p.getCategory().get("name"));
        });

1 Ответ

0 голосов
/ 12 декабря 2011

Это образец из документации ExtJs 4 . Вы ошиблись предложениями ниже:

The getCategory function was created on the Product model when we defined the 
association. <b>This uses the Category's configured proxy </b> to load the Category
asynchronously, calling the provided callback when it has loaded.

Итак, эта ошибка из-за отсутствия конфигурации proxy в модели категории.

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