每个模型的不同设计配置

Different Devise configurations for each model

我有两个使用 Devise 进行身份验证的模型:UserUploader,页面和视图严格分开(前者可以访问应用程序,后者只能访问一个上传视图) .

我遵循 this guide 并且一切正常,但现在我正在寻找为每个模型设置不同 Devise 配置的方法。

例如:config.authentication_keys = [:email] 代表 Userconfig.authentication_keys = [:username] 代表 Uploader。这可能吗?

使用标准的 Devise 配置文件为所有配置选项设置一组合理的默认值。

然后对于你想在其他模型中覆盖的特殊情况,你可以在模型本身中设置它们:

class Uploader < ActiveRecord::Base
  devise :database_authenticatable, :registerable, :recoverable, :etc

  # Override authentication_keys for Uploader
  self.authentication_keys = [:username]
end

应该可以解决问题。