【问题标题】:Devise - Skipping user confirmation in Development设计 - 在开发中跳过用户确认
【发布时间】:2014-01-16 17:41:07
【问题描述】:

如何在设计中跳过用户确认。

我已经设置了使用 SendGrid 发送电子邮件的生产环境,但现在我已经完成了它不会让我登录。

感谢您的宝贵时间!

【问题讨论】:

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


    【解决方案1】:

    在控制台中创建用户:

    user = User.create( 
      :first_name            => 'admin', 
      :last_name             => 'admin', 
      :email                 => 'foo...@email.com', 
      :password              => 'password1', 
      :password_confirmation => 'password1' 
    ).skip_confirmation! 
     # Devise :doc:
     # If you don't want confirmation to be sent on create, neither a code
     # to be generated, call skip_confirmation!
    

    或在模型中:

     after_create :skip_conf!
    
      def skip_conf!
        self.confirm! if Rails.env.development?
      end
    

    【讨论】:

    • 太棒了,正是我想要的!干净简单;)
    • 谢谢!出于某种原因,我不得不只使用.confirm 而不是.confirm!
    【解决方案2】:

    另一种方式:

    User.new(email: 'xx@xx.xx', password: '12345678').confirm!
    

    顺便说一句,您完全可以跳过 :password_confirmation,因为 #confirm!如果记录尚未持久化,则跳过验证。

    【讨论】:

      猜你喜欢
      • 2011-11-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-23
      • 1970-01-01
      • 1970-01-01
      • 2015-08-09
      • 1970-01-01
      相关资源
      最近更新 更多