我有两个设计模型:用户和成员
因此,我在模型本身而不是在 Devise 初始化程序中指定身份验证密钥。
会员.rb
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable, :omniauthable, :authentication_keys => [:email, :subdomain]
我也覆盖
def self.find_for_authentication(conditions={})
debugger
conditions[:account_id] = Account.find_by_subdomain(conditions.delete(:subdomain)).id
super(conditions)
end
不幸的是,当 authentication_keys 有多个密钥时,我的 find_for_authentication 方法似乎没有被触发。当我只指定一个键时工作正常。有什么想法吗?