Префик URL моделей и сами URL моделей
Хотелось бы услышать мнение о моем способе задания префикса и вычисления URL моделей:
При режиме development префикс URL равен http://localhost:3000 То есть сервер на другом домене. Чтобы при сборке приложения этот префикс пропал, его пришлось обернуть в //<debug>. Как сделать правильно пока не знаю. Нет тегов типа <development>. Встроенный способ определения URL моделей не позволяет делать сложные манипуляции с адресами. Пришлось наворотить свой способ. Все это я запихнул в класс Element.model.Base, который является базовым для всех моделей. Ext.define("Element.model.Base", { extend: "Ext.data.Model", requires: ["Ext.data.proxy.Rest"], fields: [{ name: "id", type: "auto" }], schema: { namespace: "Element.model", //<debug> urlPrefix: "http://localhost:3000", //</debug> proxy: new Ext.util.ObjectTemplate({ type: "rest", url: "{prefix}/{[this.getEntityUrl(values.entityName)]}", reader: { type: "json", rootProperty: "data" } }, { templateOptions: { getEntityUrl: function(entityName) { var urls = { Command: "", WorkstationType: "", ConfigFileItem: "configfile", Workstation: "workstations", Trolley: "trolleys", Printer: "printers", GroupOrder: "group-orders", Employee: "employee", CuttingItem: "cutting-items" }; if (!(entityName in urls)) throw Error("Модель " + entityName + " не найдена в массиве URL's."); return urls[entityName]; } } }) } }); |
Используете sencha watch и хотите получать данные с локального сервера? Если какой-то подобный кейс, то можно настроить nginx, который будет роутить на один или другой url в зависимости от пути.
|
Цитата:
Но все-таки мое решение более проще в реализации. Я его описал в другой ветке http://javascript.ru/forum/extjs/630...jj-server.html А тут хотел бы узнать ответ на все-таки другой вопрос. |
Часовой пояс GMT +3, время: 16:17. |