Где находится папка моделей в Phoenix Framework версии 1.4? - PullRequest
0 голосов
/ 13 февраля 2019

В Phoenix framework 1.2 есть папка моделей, но есть ли она в версии 1.4?

В версии 1.2 каталог моделей находится в app-> web.После проверки всей структуры папок модели папка не существует.

Ответы [ 2 ]

0 голосов
/ 13 февраля 2019

После 1.2 Phoenix прекратил использовать Rails-подобный синтаксис и дизайн models;вместо этого Phoenix теперь разделяет модели данных на schemas, а функции ORM на contexts при создании этих ресурсов.

Структура каталогов Phoenix также изменилась при версии> = 1.3;теперь все ваши основные прикладные модули в ./lib/, с не-сетевыми модулями и модулями, связанными с базой данных (схемы, контексты) в ./lib/appname/ и с веб-интерфейсами (контроллеры, представления и т. д.) в ./lib/appname_web/.

Если вы запустите в своем проекте mix phx.gen.context Accounts User users email:string username:string, генератор сгенерирует каталог ./lib/appname/accounts/, содержащий файл с именем /accounts/user.ex, содержащий вашего пользователя schema & changeset, и файл с именем /accounts/accounts.ex, содержащийCRUD-логика вашей базы данных, связанная с вашей пользовательской схемой.

Ознакомьтесь с журналом изменений в ответе TGO, а также ознакомьтесь с официальными документами Phoenix о контекстах , чтобы получить более четкое представление о текущем дизайне контекста Phoenix

0 голосов
/ 13 февраля 2019

Если вы используете mix phoenix.new, вы все равно получите старую структуру проекта вместе с папкой моделей.Однако с момента выпуска Phoenix 1.3.0 структура проекта по умолчанию изменилась.Используя новую команду mix phx.new, мы видим, что больше нет выделенной папки с моделями.

В этом выпуске Phoenix представил контексты: выделенные модули, которые раскрывают и группируют связанные функции.Модели больше не будут помещаться в одну папку моделей, скорее они будут сгруппированы в разные контекстные модули в соответствии с их функциональностью.

Для получения дополнительной информации, пожалуйста, обратитесь к публикации блога версии 1.3.0 здесь (Контекстыраздел): https://phoenixframework.org/blog/phoenix-1-3-0-released

...