0

id プロパティを持つモデルがあります。これは宣言の重要な部分です。

Ext.define('E.model.portfolio.Portfolio', {
    extend: 'Ext.data.Model',
    idProperty: 'id',
    fields: [
        { name: 'id', type: 'int' },
        { name: 'name', type: 'string' },
        { name: 'currencyId', type: 'int' },
        { name: 'startingCapital', type: 'float' },
        { name: 'startDate', type: 'date' },
        { name: 'endDate', type: 'date' },
        { name: 'isPrivate', type: 'boolean', defaultValue: true },
        { name: 'isPercentageAllocation', type: 'boolean', defaultValue: true },
        { name: 'currentAllocationPeriod', type: 'int', useNull: true },
        { name: 'frequency', type: 'int' },
        { name: 'rebalance', type: 'int' }
    ],
    proxy: {
        type: 'ajax',
        url: '/someapi/action'
    },

    validations: [
        { type: 'presence', field: 'id' },
        { type: 'presence', field: 'name' },
        { type: 'presence', field: 'currencyId' },
        { type: 'presence', field: 'startingCapital' },
        { type: 'presence', field: 'startPeriod' },
        { type: 'presence', field: 'endPeriod' }
    ],
}

ただし、このモデルをサーバーに送信すると、常に id プロパティが欠落しています。送信される JSON は次のとおりです。

{
    "name": "Unique Name Test",
    "currencyId": 1,
    "startingCapital": 1000000,
    "startDate": null,
    "endDate": null,
    "isPrivate": false,
    "isPercentageAllocation": true,
    "currentAllocationPeriod": 201003,
    "frequency": 2,
    "rebalance": 0
}

ご覧のとおり、ID を除くすべてのプロパティがあります。ここで何が起こっているのかについて誰か洞察を持っていますか?

4

0 に答える 0