ユーザーとメンバーの2つのデバイスモデルがあります
そのため、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 メソッドは起動していないようです。キーを 1 つだけ指定すると正常に動作します。何かご意見は?