使用设计:确认没有时间限制?

时间:2012-10-13 03:28:14

标签: ruby-on-rails devise devise-confirmable

我在我的应用程序中使用Devise进行身份验证。我不想在用户注册时要求确认电子邮件,但如果用户希望该应用向他们发送电子邮件更新,我确实需要它。这是否可以通过Devise的内置:可确认功能实现?我发现设置设置用户可以在没有确认的情况下登录多长时间,但我基本上想要将其设置为“永远”。

2 个答案:

答案 0 :(得分:1)

结帐https://github.com/plataformatec/devise/blob/master/lib/devise/models/confirmable.rb。您可以通过始终返回confirmation_period_valid?来覆盖true

或者,也许您可​​以将设置更改为10000.years.from_now,这可能是对“永远”的估计,或许?

答案 1 :(得分:0)

config/initializers/devise.rb中查找

  # ==> Configuration for :confirmable
  # A period that the user is allowed to access the website even without
  # confirming their account. For instance, if set to 2.days, the user will be
  # able to access the website for two days without confirming their account,
  # access will be blocked just in the third day. Default is 0.days, meaning
  # the user cannot access the website without confirming their account.
  # config.allow_unconfirmed_access_for = 2.days

将其设置为1000.years。然后,在email_updates方法中,调用#confirmed?来测试用户是否已确认其帐户。如果没有,请将它们发送到页面以重新发送确认链接,因为它现在可能已过期。