设计gem跳过确认并立即通过电子邮件跳过确认

我正在使用设计gem,在创建用户时我想跳过混乱! 并跳过confimation电子邮件,例如:

User.create(:first_name => "vidur", :last_name => "punj").confirm!.skip_confirmation! 

但它只跳过确认,不会跳过发送确认电子邮件。 任何人都可以给我一个跳过这两个想法的想法。

你需要调用skip_confirmation! 在保存记录之前。

尝试

 user = User.new(:first_name => "blah") user.skip_confirmation! user.save 

您在skip_confirmation之前调用User.create!,您需要稍后调用User.new和user.save。

尝试

  user = User.new(:first_name => "vidur", :last_name => "punj") user.skip_confirmation! user.save! 
 Got the solution: @user=User.new(:first_name => "vidur", :last_name => "punj") @user.skip_confirmation! @user.confirm! @user.save 

设置confirmed_at字段

 User.create!(confirmed_at: Time.now, email: 'test@example.com', ...) 

在seeds.rb中有用

 User.create_with(name: "Mr T", company: "Comp X", password: 'rubyrubyruby', password_confirmation: 'rubyrubyruby', confirmed_at: Time.now).find_or_create_by!( email: 'test@example.com') 

如果您对在哪里写skip_confirmation!感到困惑skip_confirmation! 控制器中的方法,因为您尚未生成设计控制器,然后:

在您的User模型中写下此内容

 before_create :my_method def my_method self.skip_confirmation! end 

现在简单地使用:

 user = User.new(:first_name => "Gagan") user.save 

如果您根本不需要确认,可以删除模型中的:confirmable符号。

after_create: :skip_confirmation_notification – 点击这里

如果您只想在某些条件下skip_confirmation_notification,请使用proc