简体   繁体   中英

Rails Devise, how to skip the confirmation email but still generate a confirmation token?

I'm using

      user.skip_confirmation!

To skip the devise email confirmation when a new user is added by an existing user. The problem with the skip_confirmation is that it does not generate a confirmation token.

I want to manually send a confirmation email which means I need a confirmation token.

How can I skip the devise confirmation email yet still generate a confirmaton_token to allow me to manually send a custom confirmation email to added users?

Thanks

@user = User.new(:email => 'email@example.com', :password => 'password') 
@user.skip_confirmation_notification!
@user.save 

Here skip_confirmation_notification! generate a confirmation token but does not send confirmation email.

See confirmable.rb . In particular, around line 253 - 256. I think that should help you out.

In short:

module Devise
  module Models
    module Confirmable
      module ClassMethods
        # Generate a token checking if one does not already exist in the database.
        def confirmation_token
          generate_token(:confirmation_token)
        end
      end
    end
  end
end

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM