我有两个用户模型,第一个是来自远程数据库作为遗留和用于公司内部目的。 (员工登录)。第二个是我们的公共注册和登录项目,但我想要一张登录表单。我搜索了很长时间,但有些解决方案让我感到困惑。
第一个遗产看起来像(仅用于读取和身份验证):
class CrmUser < ActiveRecord::Base
require Rails.root.join('lib', 'devise', 'encryptors', 'sha1')
# Include default devise modules. Others available are:
# :token_authenticatable, :encryptable, :confirmable, :lockable, :timeoutable, :rememberable, and :omniauthable
establish_connection "crm_data"
set_table_name :users
devise :database_authenticatable, :encryptable, :authentication_keys => [:login]
alias_attribute :encrypted_password, :crypted_password
alias_attribute :password_salt, :salt
# Setup accessible (or protected) attributes for your model
attr_accessible :login, :password, :password_confirmation, :remember_me, :role_id, :first_name, :last_name
其次,公开和注册:
class User < ActiveRecord::Base
# Include default devise modules. Others available are:
# :token_authenticatable, :encryptable, :confirmable, :lockable, :timeoutable, :rememberable, and :omniauthable
devise :database_authenticatable, :registerable, :authentication_keys => [:login]
alias_attribute :login, :email
# Setup accessible (or protected) attributes for your model
attr_accessible :login, :password, :password_confirmation, :remember_me, :role_id, :first_name, :last_name
现在我不知道如何执行该用户控制器尝试从第一个模型进行身份验证,当用户不存在时,转到第二个模型并重试。
Using:
EDIT:
在 Devise 的 wiki 中有一些关于多个模型的内容,但我有点困惑,没有更复杂的示例。
谢谢。
问候,雷达