Я не смог найти способ генерировать движки с вложенными пространствами имен под рельсы. Каждый раз, когда я это делаю, мне в основном приходится редактировать и перемещать сгенерированные файлы вручную. Действительно ли в рельсах нет поддержки вложенных пространств имен? Кажется маловероятным.
В компании мы именуем все так: CompanyName::SerivceName::Module
Поэтому, когда я работаю над Service1 и создаю движок, который будет интегрирован в приложение, которое служба поддержки использует для работы с пользователями и данными этой службы по запросам клиентов, я хотел бы создать этот движок под CompanyName: :Serve1::CustomerSupport
Однако рельсы, похоже, не могут этого сделать.
Использование
rails plugin new a::b::blah
не допускается:akovanm0:test avandra$ rails plugin new a::b::blah -T --dummy-path=spec/dummy --mountable --full --mountable
Invalid plugin name a::b::blah. Please give a name which use only alphabetic or numeric or "_" characters.
Указание
rails plugin new a/b/blah
создает механизм, но имеет тот же результат, что иrails plugin new blah
.- Указание
rails plugin new a_b_blah
создает движок с литеральным именем a_b_blah, без пространства имен. (и настоящее имя в верблюжьей оболочке от ABBlah)
Чего я хотел бы добиться, так это движка, контроллеры, модели и представления которого генерируются в пространстве имен a::b::blah
, и он монтируется таким же образом. Я хочу, чтобы все сгенерированные контроллеры находились под app/controllers/a/b/blah
, модели — под app/models/a/b/blah
и так далее...
Есть ли способ добиться этого?