我有两个使用Devise的模型。一切都适当的范围和工作正常。
现在我想为每个模型设置不同的配置值。例如,在一个模型中,我想将allow_unconfirmed_access_for
设置为几天,而在另一个模型中,我不想允许任何此类未经证实的访问。
这可以通过config/initializers/devise.rb
顶部的Devise自己的文档...
# Use this hook to configure devise mailer, warden hooks and so forth.
# Many of these configuration options can be set straight in your model.
在模型中设置变量所需的语法是什么,而不是初始化程序?我目前在我的模型中有这个......
# Model Foo
Devise.setup do |config|
config.allow_unconfirmed_access_for = 2.days
end
# Model Bar
Devise.setup do |config|
config.allow_unconfirmed_access_for = 0.days
end
它似乎没有起作用......
答案 0 :(得分:4)
根据a related post的建议,我了解到这些值被放置在应用Devise的模型中。所以我们只是处理普通的类变量。
我可以通过设置变量来获得所需的结果......
class User < ActiveRecord::Base
devise :database_authenticatable, :registerable, :rememberable,
:trackable, :validatable, :timeoutable,
:confirmable, :recoverable, :lockable
# override Devise default config settings
self.allow_unconfirmed_access_for = 2.days
# ...