0

我有两个设计模型:用户和成员

因此,我在模型本身而不是在 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 方法似乎没有被触发。当我只指定一个键时工作正常。有什么想法吗?

4

1 回答 1

1

subdomain 应该是 request_key,因为它是请求的一部分。

request_keys => [:subdomain]
于 2012-07-02T07:32:39.107 回答