2013-09-16 45 views
9

我有一個軌道應用程序,由一次安裝在一起的多個引擎組成。在應用程序的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' 

但是,當然,我不能有多個相互衝突的配置文件。

我需要幫助我如何在設計上實現這樣的東西。

+0

爲什麼你不試試多租戶模式 –

+0

如何添加對應於每個引擎的名稱空間? –

回答

2

您可以使用cancan gem with devise來管理角色並一次使用多個模型/範圍。或者,您也可以嘗試mcms authentication。但我建議你也檢查canard這是高度記錄的寶石,可能會幫助你更快填補空白。希望這可以幫助。