设计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