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" получается. В чем дело, как все же поменять имя этого айди? |
никак не поменять ..не смотрит этот метод на idProperty
можно попробовать во второй параметр передать в явном виде: model = PM.model.entity.Role.load(record.get("ID"), { foo : record.getId(), success:... }); |
Это не будет работать. Все, что после айди, идет в качестве параметров в объектный (не статический) метод load, а там используется для создания операции. Значения полей там не задаются.
|
На офф форуме ответили:
See: http://docs.sencha.com/extjs/5.0/api...er-cfg-idParam Вот так вот... не тот параметр пытался юзать. |
Часовой пояс GMT +3, время: 18:03. |