2016-01-23 36 views
0

创建一个练习模块化应用程序,其中应用程序的所有功能基本上都包含在引擎中。将用户路由到其他导轨引擎

我有一个问题,当涉及到添加另一个引擎。 是否有可能将设计登录用户路由到该功能的根目录。

我的目标是从一个用户登录时,将具有特定角色的用户作为这个额外的引擎根目录(设计用户在核心引擎中生成和配置,2个引擎位于空白的父应用程序中)。

我也有一个passthrough控制器,将用户路由到特定的路径。我想尽可能知道如何在控制器中定义另一个引擎根的路径。我将如何将另一个引擎中的导航栏内的特定视图路由到另一个引擎中的视图。

也使用CanCan很容易让用户使用此引擎功能,而另一个用户不会。用户还将具有不同的导航可访问性,这将在核心应用程序布局中处理。会不会有根用户使用Rails引擎的问题,它会在核心引擎中指定相同的应用程序布局。

这可能看起来很混乱,但任何帮助都会令人惊叹。

+0

是你的引擎命名空间? – Elvn

+0

是它的名字与核心引擎@ValAsensio一起隔开 – Leafshinobi32

回答

1

,我能想到的是通过路线约束,所以基本上你将测试如果current_user你可以从request对象得到它相应的权限

## verify if the user/admin is connected 
return false unless request.cookie_jar[:auth_token] 
Admin.find_by_auth_token(request.cookie_jar.signed[:auth_token]) 

Rails的引擎的一种方法是迷你独立应用程序,您可以通过共享的数据库进行通信。因此,您可以使用主应用的用户对象和安装的引擎,您可以对其执行授权/权限测试。

+0

真棒答案谢谢,我认为引擎具有共享数据库可能会更好一点吗? – Leafshinobi32