为作用域设计模型设置不同的配置

Setting different config for scoped devise models

在 rails 应用程序中,根据 devise 模型设置不同配置值的方法是什么? 假设我们有 2 个模型 Admin 和 User。 devise.rb 中的设置配置值将应用于所有模型。如何为其中一个模型设置不同的配置? 我试过这样

class Admin < ApplicationRecord
  # Include default devise modules. Others available are:
  # :confirmable, :lockable, :timeoutable, :trackable and :omniauthable
  devise :database_authenticatable, :registerable,
         :recoverable, :rememberable, :validatable
  self.allow_unconfirmed_access_for =0.days
end

但出现错误 can't modify frozen class 我该如何解决这个问题。

谢谢!

让管理员成为用户的继承人class。然后已经划定了用户和管理员的访问权限

找到关于您的问题 here 的现有 Whosebug post。显然,您可以覆盖 Admin 模型和 return false 中的 confirmation_required? 方法以跳过 Admin 的确认步骤。请注意,它也会跳过发送 Admin 的注册电子邮件。

更新:

self.allow_unconfirmed_access_for = ...Admin.allow_unconfirmed_access_for = ... 有效,但适用于旧设计版本。

最近的版本是Devise.allow_unconfirmed_access_for =...(我想这就是你要找的)