我有一个rails应用程序,包含多个一次组合安装的引擎。应用程序的B2B端有一个引擎,我们有一个单独的“用户”模型(像公司一样)进行设计认证。同样,最终客户也有一个拥有自己的身份验证模型(例如:公司的用户)。同样,还有另一个站点管理员引擎,它使用ActiveAdmin实现根级别管理。
我们可以在几种组合中同时安装一个,两个或三个引擎。问题是,我们每个都有不同的父应用程序控制器,每个都有不同的路由器。类似的东西:
devise.rb
- engine1
config.router_name = :engine1
config.parent_controller = 'Engine1::ApplicationController'
devise.rb
- engine2
config.router_name = :engine2
config.parent_controller = 'Engine2::ApplicationController'
但是,当然,我不能有多个冲突的配置文件。
我需要帮助我如何在设计上实现这样的东西。
答案 0 :(得分:2)
您可以使用 cancan gem来设计角色并一次使用多个模型/范围。或者,您也可以尝试mcms authentication。但是我建议你也检查canard宝石,这是一个高度记录的宝石,可以帮助你更快地填补空白。希望这可以帮助。