Префик 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, время: 07:35. |