Классы автозагрузки с пространствами имен, определенными путем поиска в Rails - PullRequest
4 голосов
/ 10 июля 2019

Я пытаюсь создать приложение Rails 5.2.x, которое очень похоже на структуру ограниченного контекста в соответствии с управляемым доменом дизайном.

Учитывая, что identity - это имя ограниченного контекста, который содержит сущности user и group, я хотел бы иметь структуру каталогов, подобную этой:

<RAILS ROOT>/identity/user.rb
<RAILS ROOT>/identity/group.rb

Я бы хотел, чтобы они содержали классы Identity::User и Identity::Group соответственно.

Вдохновленный самоцветом bounded_context, я добавил следующую строку в свой application.rb:

config.paths.add 'identity', eager_load: true

К сожалению, это не совсем то, что я имел в виду. Используя этот подход, Rails, похоже, требует от меня настроить структуру каталогов следующим образом:

<RAILS ROOT>/identity/identity/user.rb
<RAILS ROOT>/identity/identity/group.rb

Это не совсем то, что я имел в виду.

Есть ли способ заставить автозагрузчик Rails понять, что все файлы в моем пути уже находятся в пространстве имен Identity, поэтому мне больше не нужно отражать это в структуре каталогов?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...