Не находит модель No such Entity "Shop.model.test2.Test2"
Я сделал модель Shop.model.test2.Test2
И в итоге получил ошибку Ext.data.schema.Schema.lookupEntity(): No such Entity "Shop.model.test2.Test2". Хотя модель Shop.model.Test он находит. Почему модель Shop.model.test2.Test2 не находит? |
интересное дело. Цифры 2 убрал, сразу нашел. Как так???
|
А класс Shop.model.test2.Test2 где-нибудь указан как зависимость?
|
Я модели не указываю в requery. А надо?
|
Конечно надо. Модель это класс, его надо загрузить. Чтобы загрузить, надо о нём знать.
|
Почему он тогда Shop.model.Test загрузил?
Разве в Sencha Cmd не избавились окончательно от require? |
Цитата:
В случае же с моделью Shop.model.test2.Test2 такой подход уже не сработает, т.к. namespace Shop.model.test2 нигде не прописано. Для таких случаев есть конфиг namespaces: http://docs.sencha.com/extjs/6.0/6.0...cfg-namespaces Цитата:
|
Цитата:
Цитата:
Ext.define("Shop.model.Base", {
extend: "Ext.data.Model",
requires: ["Ext.data.proxy.Direct"],
fields: [{
name: "id",
type: "number"
}],
schema: {
namespace: "Shop.model",
urlPrefix: "Server",
proxy: {
type: "direct",
api: {
create: "{prefix}.{entityName}.create",
read: "{prefix}.{entityName}.read",
update: "{prefix}.{entityName}.update",
destroy: "{prefix}.{entityName}.destroy"
},
//<debug>
withCredentials: true,
//</debug>
reader: {
type: "json",
rootProperty: "data",
messageProperty: "message"
}
}
}
});
|
В общем он заработал, если убрать двойки
stores: {
testStore: {
model: "test.Test",
autoLoad: true
}
}
Таким образом, sencha не любит в именах моделей цифры. Могли бы и написать. |
Кстати, я про двойки уже писал. То есть вопрос другой теперь. Чего это сенча экст не любит цифры в именах моделей? Это дискриминация такая?
|
А вы попробуйте вместо цифр добавить в имена "лишние" буквы, скорее всего увидите ту же самую картинку. Это не в цифрах дело, а в namespaces и именах моделей. Разрешение имён вообще дело сложное, я года три назад ковырялся с этой темой в контроллерах... Мрак.
Поэтому лучше всё указывать явно, как я и говорил уже. Кому как, а я сюрпризы люблю только вне работы. |
| Часовой пояс GMT +3, время: 23:30. |