【问题标题】:How to set Devise config values within model如何在模型中设置设计配置值
【发布时间】:2014-04-07 20:15:01
【问题描述】:

我有两个使用 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

它似乎没有工作......

【问题讨论】:

    标签: ruby-on-rails devise


    【解决方案1】:

    根据a related post 的建议,我了解到这些值被放置在应用设计的模型内部。所以我们只是在处理普通的类变量。

    通过像这样设置变量,我能够得到想要的结果......

    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
    
      # ...
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-09-26
      • 2011-10-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-06
      • 2021-04-08
      相关资源
      最近更新 更多