У меня есть две пользовательские модели, первая из удаленной базы данных как устаревшая и для внутренних целей компании.(Логины сотрудников).Во-вторых, это наш проект для публичной регистрации и входа, но я хочу одну форму входа.Я долго искал, но некоторые решения сбивают меня с толку.
Первое наследие выглядит так (только для чтения и аутентификации):
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
Теперь я не знаю, как это сделать. Пользовательский контроллер пытается выполнить аутентификацию с первой модели, а когда пользователь не существует, перейдите ко второй модели и попробуйте снова.
Использование:
EDIT:
В вики Devise есть что-то о нескольких моделях,но я немного запутался, нет примеров более сложных.
Спасибо.
С уважением, Радо