Расширение Ext.data.Model (динамическое добавление полей)

Я расширил существующую модель, добавив поля, используя прототип. Все работает отлично, данные можно получить со стороны сервера и использовать на стороне клиента. Но когда я теперь обновляю свои данные и отправляю их обратно на сервер, «новые» поля не распознаются автором прокси.

Чтобы быть более конкретным: у меня есть такая модель:

    Ext.define('Osgaar', {
      extend: 'Ext.data.Model',
      fields: [
        { name: 'first', type: 'string' },
        { name: 'second', type: 'string' },
        { name' 'third', type: 'string' }
      ],

      proxy: {
        type: 'rest',
        url: 'public/svcmethod',
        reader: {
          type: 'json',
          root: 'data'
        },
        writer: {
          type: 'json',
          writeAllFields: false
        }
      }
    });

Я расширяю модель следующим образом:

    Osgaar.prototype.fields.add({ name: 'fourth', type: 'string' });

Я попытался установить для writeAllFieldsзначение false, чтобы получить перенесены всеатрибуты, есть только атрибуты из определенной модели, а не тот, который был добавлен с помощью прототипа (Fiddler подтверждает это).

Есть ли у кого-нибудь способ решить эту проблему без определения новой модели?

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

9
задан LaOsgaar 28 May 2012 в 20:01
поделиться