ruby-on-rails 设计宝石跳过确认和跳过确认通过电子邮件都在一次

deyfvvtc  于 5个月前  发布在  Ruby
关注(0)|答案(7)|浏览(80)

我正在使用devise gem,在创建用户时,我想跳过确认!并跳过确认电子邮件,例如:

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

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

qvtsj1bj

qvtsj1bj1#

在保存记录之前,您需要调用skip_confirmation!。
尝试

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

字符串

dldeef67

dldeef672#

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

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

字符串

h43kikqp

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]')

a11xaf1n

a11xaf1n4#

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

字符串

vaj7vani

vaj7vani5#

如果你还没有生成devise控制器,所以你对在控制器中写skip_confirmation!方法感到困惑,那么:
在**User**模型中写入此内容

before_create :my_method

def my_method
 self.skip_confirmation!
end

字符串
现在只需用途:

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

z9smfwbn

z9smfwbn6#

after_create :skip_confirmation_notification

字符串

如果您只想在特定条件下跳过_confirmation_notification,请使用proc

0dxa2lsx

0dxa2lsx7#

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

相关问题