Question

How do you skip user confirmation in development in devise.

I have set up the production environment to send emails with SendGrid, but now I have done that it won't let me log in.

Thanks for your time!

Was it helpful?

Solution

create User in console:

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!

or in model:

 after_create :skip_conf!

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

OTHER TIPS

Another way:

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

BTW, you can skip :password_confirmation at all, because #confirm! skips validation if record does not persisted yet.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top