在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
我该如何解决。
谢谢!
答案 0 :(得分:1)
找到有关您的问题here的现有StackOverflow帖子。显然,您可以在confirmation_required?
模型中覆盖Admin
方法,然后返回false
以跳过Admin的确认步骤。请注意,它也将跳过发送Admin
的注册电子邮件。
更新:
self.allow_unconfirmed_access_for = ...
或Admin.allow_unconfirmed_access_for = ...
可用,但适用于旧版本。
对于最新版本,它是Devise.allow_unconfirmed_access_for =...
(我想这就是您要查找的内容)
答案 1 :(得分:-1)
使Admin成为User类的继承者。然后已经为用户和管理员划定了访问权限