gpt4 book ai didi

rest - 使用模型名称填充的EXTJS模型idProperty字段?

转载 作者:行者123 更新时间:2023-12-04 04:34:53 26 4
gpt4 key购买 nike

我试图针对Restful RubyonRails后端创建一个简单的ExtJS5应用程序。由于某种原因,当我实例化模型时,ExtJs使用模型的名称(和计数器)填充“idProperty”字段。例如

{“Traffic_id”:“MyApp.model.Person-1”,“external_id”:0,...

我认为“idProperty”字段本质上是数据记录的主键,并且通常在将记录插入到数据库中时进行设置(自动增量)

因此,此字段应为null或相似,因为尚未将模型添加到商店并同步到后端。

更令人惊奇的是,该字段被定义为“int”,而ExtJS在其中放置了一个字符串!

有人可以告诉我怎么回事吗?

彼德

以下是Fiddle的app.js:

Ext.application({
name : 'Fiddle',

launch : function() {

var model = Ext.create('MyApp.model.Person');

Ext.Msg.alert('Fiddle', JSON.stringify(model.data));

}
});

Ext.define('MyApp.model.Person', {
extend: 'Ext.data.Model',
idProperty: 'Traffic_id',

proxy: {
type: 'rest',
// url: '/traffics.json',
format: 'json',
api: {
create: 'traffics',
read: 'traffics',
update: 'traffics/edit',
destroy: 'traffics'
},

reader: {
type: 'json',
rootProperty: 'traffic',
successProperty: 'success',
messageProperty: 'message'
},
writer: {
type: 'json',
//writeAllFields : false,
//encode: true,
rootProperty: 'traffic'
},
afterRequest: function(req, res) {
console.log("Ahoy!", req.operation.response);
},
listeners: {
exception: function(proxy, response, operation) {
//debugger;
Ext.MessageBox.show({
title: 'XXX REMOTE EXCEPTION',
msg: operation.getError(),
icon: Ext.MessageBox.ERROR,
buttons: Ext.Msg.OK
});
}
}
},

fields: [{
name: 'Traffic_id',
type: 'int'
}, {
name: 'external_id',
type: 'int'
}, {
name: 'description',
type: 'string'
}, {
name: 'insertUser',
type: 'string'
}, {
name: 'insertDate',
type: 'date'
}]

});

最佳答案

设置配置选项:persist: false。创建时,它不会将值发送到服务器。当使用字段保留客户端上的状态但不需要将其持久保存到服务器时,此选项很有用。 Ext.data.field.Field.persist

Ext.define('MyApp.model.Person', {
extend: 'Ext.data.Model',
idProperty: 'Traffic_id',
fields: [{
name: 'Traffic_id',
type: 'int',
persist: false
}, {
name: 'external_id',
type: 'int'
}, {
name: 'description',
type: 'string'
}, {
name: 'insertUser',
type: 'string'
}, {
name: 'insertDate',
type: 'date'
}]
});

关于rest - 使用模型名称填充的EXTJS模型idProperty字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26232337/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com