Rails设计,如何跳过确认电子邮件但仍然生成确认令牌?

时间:2012-07-29 02:12:20

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

我正在使用

      user.skip_confirmation!

在现有用户添加新用户时跳过设计电子邮件确认。 skip_confirmation的问题在于它不会生成确认令牌。

我想手动发送确认电子邮件,这意味着我需要一个确认令牌。

如何跳过设计确认电子邮件但仍会生成确认信息,以便我手动向添加的用户发送自定义确认电子邮件?

由于

2 个答案:

答案 0 :(得分:19)

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

此处 skip_confirmation_notification!会生成确认令牌,但不会发送确认电子邮件。

答案 1 :(得分:2)

confirmable.rb。特别是在第253-256行。我认为这应该可以帮到你。

简而言之:

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