Ruby on rails 3 轨道3和x2B;用不同的型号名称设计

Ruby on rails 3 轨道3和x2B;用不同的型号名称设计,ruby-on-rails-3,devise,Ruby On Rails 3,Devise,我正在为两个web应用程序共享一个数据库。用户模型已经用于其中一个应用程序,因此,为了登录到另一个应用程序,我必须创建另一个模型以避免混合用户信息 我可以让Desive为这个叫做SystemUser的新模型工作。现在的问题是,我必须用另一个名称使用每个变量。例如:current\u system\u user,system\u user\u signed\u in?,等等。我在整个应用程序中使用这些变量及其原始名称,我想知道是否有办法避免覆盖它。例如:通过创建一个名为current\u user

我正在为两个web应用程序共享一个数据库。用户模型已经用于其中一个应用程序,因此,为了登录到另一个应用程序,我必须创建另一个模型以避免混合用户信息


我可以让Desive为这个叫做SystemUser的新模型工作。现在的问题是,我必须用另一个名称使用每个变量。例如:
current\u system\u user
system\u user\u signed\u in?
,等等。我在整个应用程序中使用这些变量及其原始名称,我想知道是否有办法避免覆盖它。例如:通过创建一个名为
current\u user
的方法,该方法返回
current\u system\u user
,并以这种方式使用前面提到的其他变量。

我认为这应该可以实现以下目的:

devise_for :users, class_name: 'SystemUser'

您是否考虑过使用CanCan扮演角色


通过再次生成设计视图,我最终可以解决这个问题。我不知道为什么,但是designe/sessions文件夹不见了,它是用另一个视图进行的,当我开始使用它时,它工作了


无论如何,谢谢。

这听起来是个糟糕的主意,会再次让你头疼。要么:1)在应用程序之间共享用户帐户,要么,2)不要共享数据库-而是公开API。我考虑过使用不同的数据库。但问题不在于数据库,而是模型的名称。我的意思是,当模型被调用而不是“用户”时。在Rails应用程序之间共享数据库是一个非常糟糕的想法。假设我为这个应用程序使用一个单独的数据库。问题仍然存在,因为我的应用程序中已经有一个用户模型,引用了另一个数据库。这不是角色问题。我必须使用其他模型的名称登录,而不是Deave默认使用的名称。这是Deave in routes.rb:Deave_for:users、:class_name=>“SystemUser”、:Controller=>{:sessions=>“user_sessions”}、:path_names=>{:sign_in=>“login”、:sign_out=>“logout”、:registration=>“register”}
rake路由的输出
?您的
用户会话控制器中有什么?该控制器为空。我应该在那里写什么?如果你的
路由.rb中有
{:sessions=>“user_sessions”}
,为什么它是空的?