Zapisz zagnieżdżone dane formularza z powrotem na serwerze w ExtJS

Mam model, który zawiera powiązanie z innym modelem. Jestem w stanie wyświetlić zagnieżdżone dane w formularzu za pomocą atrybutu mapowania w polu. Przykład:

Ext.define('Example.model.Request', {
    extend: 'Ext.data.Model',

    fields: [
        {
            name: 'id',
            type: Ext.data.Types.NUMBER,
            useNull: false
        }
        {
            name: 'plan_surveyor',
            mapping: 'plan.surveyor',
            type: Ext.data.Types.STRING
        }
    ],

    associations: [
               {type: 'hasOne', associationKey: 'plan', getterName:'getPlan', model: 'Specs.model.Plan'}
              ],

    proxy: {
            type: 'direct',
            api: {
                read: requestController.load,
                 update: requestController.update,
            },
            reader: {
                type: 'json',
                root: 'records'
            },
            writer: {
                type: 'json',
                writeAllFields: true,
                nameProperty: 'mapping'
            }
        }

    });

Korzystając z tej metody, mogę wyświetlić wartość plan.surveyor w formularzu przez referencję plan_surveyor. Nazywam Form.loadRecord (model), aby pobrać dane z modelu do formularza.

Jednak teraz, gdy próbuję wysłać dane z powrotem na serwer, pojawia się błąd:

Error performing action. Please report the following: "Unrecognized field "plan.surveyor"

Próbuję zapisać na serwerze najpierw wywołując Form.updateRecord (model), a następnie model.save (). Czy istnieje sposób, aby Writer zrozumiał, że „plan.surveyor” nie jest nazwą właściwości, ale aby poprawnie obsługiwał zagnieżdżanie?

Czy robię to we właściwy sposób, czy powinienem po prostu obsługiwać ustawienia danych formularza i ładować z powrotem do modelu w bardziej ręczny sposób? Wydaje się, że zagnieżdżone dane nie są tak dobrze wspierane w ogóle - wszelkie zalecenia?

questionAnswers(1)

yourAnswerToTheQuestion