设计分布在引擎上的几个模型

时间:2013-09-16 12:09:59

标签: ruby-on-rails ruby-on-rails-3 devise rails-engines

我有一个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'

但是,当然,我不能有多个冲突的配置文件。

我需要帮助我如何在设计上实现这样的东西。

1 个答案:

答案 0 :(得分:2)

您可以使用 cancan gem来设计角色并一次使用多个模型/范围。或者,您也可以尝试mcms authentication。但是我建议你也检查canard宝石,这是一个高度记录的宝石,可以帮助你更快地填补空白。希望这可以帮助。