2010-03-05 4 views
0

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

uncaught exception: Ext.data.DataReader: #realize was called with invalid remote-data. Please see the docs for DataReader#realize and review your DataReader configuration.

Я смущен о 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 } 

     ] 
    }); 

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

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

ответ

2

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

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

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

правой кнопкой мыши, чтобы вставить новую запись. Наблюдайте за Ajax req от firebug, и вы увидите его в действии.

+0

это именно то, что мне нужно спасибо! книга == купленный.now – NotMyself

+0

Принимаемый ответ * и * продажа! –