我有一个包含多个引擎的 rails 应用程序,这些引擎一次组合安装。应用程序的 B2B 端有一个引擎,我们有一个单独的“用户”模型(如公司)用于设计身份验证。同样,最终客户也有一个,它也有自己的身份验证模型(例如:公司的用户)。同样,站点管理员还有另一个引擎,它是使用 ActiveAdmin 实现的,用于根级管理。
我们可能会以多种组合同时安装一个、两个或三个引擎。问题是,我们每个都有不同的父应用程序控制器,每个也有不同的路由器。就像是:
devise.rb
-- 引擎1
config.router_name = :engine1
config.parent_controller = 'Engine1::ApplicationController'
devise.rb
-- 引擎2
config.router_name = :engine2
config.parent_controller = 'Engine2::ApplicationController'
但是,当然,我不能有多个冲突的配置文件。
我需要帮助我如何在设计上实现这样的东西。