制定宝石跳过确认和两个同时通过电子邮件跳过确认(Devise gem skip confirmati

2019-08-03 20:58发布

我使用设计的宝石,虽然创建用户我想跳过confimation! 并跳过例如confimation电子邮件:

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

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

Answer 1:

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

尝试

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


Answer 2:

skip_confirmation之前,你在呼唤User.create!你需要调用User.new后来user.save。

尝试

  user = User.new(:first_name => "vidur", :last_name => "punj")
  user.skip_confirmation!
  user.save! 


Answer 3:

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


Answer 4:

设置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')


Answer 5:

如果你感到困惑在哪里写skip_confirmation! 方法在控制器还没有生成设计控制器还然后:

在写这篇文章User模型

before_create :my_method

def my_method
 self.skip_confirmation!
end

现在,只需使用:

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


Answer 6:

如果你并不需要在所有的确认,可以删除:confirmable在你的模型符号。



Answer 7:

after_create: :skip_confirmation_notification -检查这里

如果您希望只在特定条件下skip_confirmation_notification,使用PROC



文章来源: Devise gem skip confirmation and skip confirmation via email both at once