我正在使用devise gem,在创建用户时,我想跳过确认!并跳过确认电子邮件,例如:
User.create(:first_name => "vidur", :last_name => "punj").confirm!.skip_confirmation!
字符串但它只跳过确认,不跳过发送确认电子邮件。可以任何一个给予我一个想法,跳过这两个。
qvtsj1bj1#
在保存记录之前,您需要调用skip_confirmation!。尝试
user = User.new(:first_name => "blah") user.skip_confirmation! user.save
字符串
dldeef672#
您在skip_confirmation!之前调用User.create,您需要稍后调用User.new和user.save。尝试
user = User.new(:first_name => "vidur", :last_name => "punj") user.skip_confirmation! user.save!
h43kikqp3#
设置confirmed_at字段
User.create!(confirmed_at: Time.now, email: '[email protected]', ...)
字符串在种子中有用.rb
User.create_with(name: "Mr T", company: "Comp X", password: 'rubyrubyruby', password_confirmation: 'rubyrubyruby', confirmed_at: Time.now).find_or_create_by!( email: '[email protected]')
型
a11xaf1n4#
Got the solution: @user=User.new(:first_name => "vidur", :last_name => "punj") @user.skip_confirmation! @user.confirm! @user.save
vaj7vani5#
如果你还没有生成devise控制器,所以你对在控制器中写skip_confirmation!方法感到困惑,那么:在**User**模型中写入此内容
skip_confirmation!
User
before_create :my_method def my_method self.skip_confirmation! end
字符串现在只需用途:
user = User.new(:first_name => "Gagan") user.save
z9smfwbn6#
after_create :skip_confirmation_notification
如果您只想在特定条件下跳过_confirmation_notification,请使用proc
0dxa2lsx7#
如果您根本不需要确认,您可以删除模型中的:confirmable符号。
:confirmable
7条答案
按热度按时间qvtsj1bj1#
在保存记录之前,您需要调用skip_confirmation!。
尝试
字符串
dldeef672#
您在skip_confirmation!之前调用User.create,您需要稍后调用User.new和user.save。
尝试
字符串
h43kikqp3#
设置confirmed_at字段
字符串
在种子中有用.rb
型
a11xaf1n4#
字符串
vaj7vani5#
如果你还没有生成devise控制器,所以你对在控制器中写
skip_confirmation!
方法感到困惑,那么:在**
User
**模型中写入此内容字符串
现在只需用途:
型
z9smfwbn6#
字符串
如果您只想在特定条件下跳过_confirmation_notification,请使用proc
0dxa2lsx7#
如果您根本不需要确认,您可以删除模型中的
:confirmable
符号。