我正在使用设计 gem,在创建用户时我想跳过确认!并跳过确认电子邮件,例如:
User.create(:first_name => "vidur", :last_name => "punj").confirm!.skip_confirmation!
但它只跳过确认,不跳过发送确认电子邮件。任何人都可以给我一个跳过两者的想法。
我正在使用设计 gem,在创建用户时我想跳过确认!并跳过确认电子邮件,例如:
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
设置 confirm_at 字段
User.create!(confirmed_at: Time.now, email: 'test@example.com', ...)
在种子中有用.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!
在控制器中编写方法的位置感到困惑,因为您尚未生成设计控制器,那么:
把它写在你的User
模型中
before_create :my_method
def my_method
self.skip_confirmation!
end
现在只需使用:
user = User.new(:first_name => "Gagan")
user.save
after_create: :skip_confirmation_notification
-在这里检查
如果您只想在某些条件下跳过确认通知,请使用 proc
如果您根本不需要确认,您可以删除:confirmable
模型中的符号。