使用REST代理的简单模型/存储存在问题。

使用REST代理的简单模型/存储存在问题。,rest,sencha-touch-2,Rest,Sencha Touch 2,我有一个非常简单的REST接口模型/存储/代理。我遇到的问题是,当我加载存储(通过GET)时,存储似乎会将新记录放在内部toCreate列表中——因此,当我调用sync()时,它会尝试发布它刚刚吸收的记录。我知道我在做一些愚蠢的事情,但我已经尽可能地简化了,没有运气 模型 和存储/代理: Ext.define('sld.store.Orgs', { extend : 'Ext.data.Store', config: { model: 'sld.model.O

我有一个非常简单的REST接口模型/存储/代理。我遇到的问题是,当我加载存储(通过GET)时,存储似乎会将新记录放在内部toCreate列表中——因此,当我调用sync()时,它会尝试发布它刚刚吸收的记录。我知道我在做一些愚蠢的事情,但我已经尽可能地简化了,没有运气

模型

和存储/代理:

Ext.define('sld.store.Orgs', {
    extend  : 'Ext.data.Store',

    config: {
        model: 'sld.model.Org',
        storeId: 'orgs',

        proxy: {
            type: 'rest',
            url: 'http://127.0.0.1:3003/orgs',
            useDefaultXhrHeader:false,
            enablePagingParams: false,
            limitParam: false,

            reader: {
                type: 'json',
                rootProperty: 'orgs'
            }
        }
    }
});
顺便说一句,我也在用Basic Auth做这件事——我不认为这会影响事情,但以防万一,我会包括:

  setAuthString: function (username, password) {
         authString = 'Basic ' + base64_encode (username + ':' + password);
    },

    setAuthHeader: function(proxy) {
        var header = proxy.getHeaders();
        header.Authorization = authString;
        proxy.setHeaders(header);
    }
因此,当执行加载时,并在加载完成后立即调用sync(),我发现添加了8个对象,第一个帖子显示在我的服务器端(由于我还没有实现,所以失败了)


任何关于在哪里追求这一点的想法都会很棒

对于后代,如果其他人遇到这个问题,问题是我使用了“clientdproperty”来标识记录的唯一ID,而不是使用“idProperty”。后者是我想要标识属性的唯一ID的内容。文件参考号为

以及Sencha Touch论坛上的以下内容:

  setAuthString: function (username, password) {
         authString = 'Basic ' + base64_encode (username + ':' + password);
    },

    setAuthHeader: function(proxy) {
        var header = proxy.getHeaders();
        header.Authorization = authString;
        proxy.setHeaders(header);
    }
orgsStore.load (function(records, operation, success) {
        if (success) {
            console.log('loaded orgs count = ' + records.length);
            console.log ('does it need a sync?');
            var obj = orgsStore.sync();
            console.log ('sync returned added ' + obj.added.length + ' and updated ' + obj.updated.length);
        } else {
            console.log ('failed to load orgs!');
        }
    }, this);