Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 18.11.2014, 18:05
Аватар для Infarch
Профессор
Отправить личное сообщение для Infarch Посмотреть профиль Найти все сообщения от Infarch
 
Регистрация: 06.06.2014
Сообщений: 292

Ext.data.Model.idProperty
Здравствуйте.

У меня есть модель, в которой определен idProperty:

Ext.define("PM.model.entity.Role", {
	extend: "Ext.data.Model",
	idProperty: "ID",
	fields: [
		{ name: "ID",
			type: "int"
		},
		{ name: "PMLevel_ID",
			type: "int"
		},
		"Name"
	],
	proxy: {
		type: "ajax",
		pageParam: "",
		limitParam: "",
		startParam: "",
		reader: {
			type: "json",
			rootProperty: "data",
			messageProperty: "msg"
		},
		api: {
			create: "/json?cmd=pm.role.create",
			update: "/json?cmd=pm.role.update",
			read: "/json?cmd=pm.role.read"
		}
	}
});


Теперь я хочу загрузить модель с сервера:

model = PM.model.entity.Role.load(record.get("ID"), {
  success:...
});


В результате получается вот такой запрос:

http://localhost/json?cmd=pm.role.re...22383262&id=14

Как видите, id в запросе в нижнем регистре, хотя в модели верхний регистр. Это мне не подходит, начал искать как пофиксить. В процессе экспериментов я наткнулся на другую интересную вещь:

...
	idProperty: "foo",
	fields: [
		{ name: "foo",
			type: "int"
		},
...


Меняю имя поля на нечто совсем другое, а запрос все с тем же "id" получается. В чем дело, как все же поменять имя этого айди?
Ответить с цитированием
  #2 (permalink)  
Старый 19.11.2014, 08:33
Профессор
Отправить личное сообщение для siber-biber Посмотреть профиль Найти все сообщения от siber-biber
 
Регистрация: 07.08.2013
Сообщений: 214

никак не поменять ..не смотрит этот метод на idProperty

можно попробовать во второй параметр передать в явном виде:
model = PM.model.entity.Role.load(record.get("ID"), {
  foo : record.getId(),
  success:...
});
Ответить с цитированием
  #3 (permalink)  
Старый 19.11.2014, 12:23
Аватар для Infarch
Профессор
Отправить личное сообщение для Infarch Посмотреть профиль Найти все сообщения от Infarch
 
Регистрация: 06.06.2014
Сообщений: 292

Это не будет работать. Все, что после айди, идет в качестве параметров в объектный (не статический) метод load, а там используется для создания операции. Значения полей там не задаются.
Ответить с цитированием
  #4 (permalink)  
Старый 20.11.2014, 12:26
Аватар для Infarch
Профессор
Отправить личное сообщение для Infarch Посмотреть профиль Найти все сообщения от Infarch
 
Регистрация: 06.06.2014
Сообщений: 292

На офф форуме ответили:
See: http://docs.sencha.com/extjs/5.0/api...er-cfg-idParam

Вот так вот... не тот параметр пытался юзать.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск