Extjs выдает исключение "реализовать вызов с неверными данными" при успешном создании записи - PullRequest
0 голосов
/ 05 марта 2010

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

необработанное исключение: Ext.data.DataReader: #realize вызван с недопустимыми удаленными даннымиПожалуйста, ознакомьтесь с документами для DataReader #, осознайте и просмотрите конфигурацию вашего DataReader.

Я недоумеваю по поводу WTF, что означает эта ошибка.У кого-нибудь есть указатели?Соответствующие биты кода ниже:

 var proxy = new Ext.data.HttpProxy({
        api: {
            read: '../foo/bar.rnr',
            create: '../foo/CreateBar.rnr',
            update: '../foo/UpdateBar.rnr',
            destroy: '../foo/DeleteBar.rnr'
        }
    });

    var writer = new Ext.data.JsonWriter({
        encode: true,
        writeAllFields: true,
        listful: true,
        destroyRecord: function(rec) {
            return this.toHash(rec);
        }
    });


    var store = new Ext.data.JsonStore({
        autoLoad: true,
        autoSave: false,
        url: '../foo/bar.rnr',
        method: 'get',
        baseParams: { Id: pageParameters.Id },
        proxy: proxy,
        writer: writer,
        id: 'Id',
        fields: [
            { name: 'Id', type: 'int' },
            { name: 'Name', type: 'string' },
            { name: 'Note', type: 'string', defaultValue: null }

        ]
    });

Мой текущий ответ выглядит следующим образом, но это после большого количества проб и ошибок, так что он явно скрыт.

{"success":true,"message":"OK!","undefined":[]}

1 Ответ

2 голосов
/ 05 марта 2010

Вам нужно будет возвращать записи в возвращающемся объекте json.

Перейдите к следующему примеру из моей книги Ext JS in Action, в котором показано, как использовать средство записи данных для грубых действий.

http://extjsinaction.com/examples/chapter08/usingWriterWithHttpProxy.html

Щелкните правой кнопкой мыши, чтобы вставить новую запись. Соблюдайте требования Ajax от Firebug, и вы увидите его в действии.

...