Подтвердить что ты не робот

Придумайте подтверждение пропускной способности и пропустите подтверждение по электронной почте одновременно

Я использую придуманный камень, и, создавая пользователя, я хочу пропустить его. и пропустите электронную почту с подтверждением, например:

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

Но он пропускает только подтверждение и не пропускает отправку подтверждающего письма. Может кто-нибудь дать мне идею пропустить оба.

4b9b3361

Ответ 1

Вам нужно вызвать skip_confirmation! перед сохранением записи.

Try

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

Ответ 2

Вы вызываете User.create перед skip_confirmation!, вам нужно вызвать User.new и user.save позже.

Попробуйте

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

Ответ 3

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

Ответ 4

установите поле confirm_at

User.create!(confirmed_at: Time.now, email: '[email protected]', ...)

полезно в 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: '[email protected]')

Ответ 5

Если вы запутались, где написать метод skip_confirmation! в контроллере, так как вы еще не создали устройства, но затем:

Напишите это в своей User модели

before_create :my_method

def my_method
 self.skip_confirmation!
end

Теперь просто используйте:

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

Ответ 6

Если вам вообще не нужны подтверждения, вы можете удалить символ :confirmable в своей модели.

Ответ 7

after_create: :skip_confirmation_notification - проверьте здесь

Если вы хотите использовать skip_confirmation_notification только для определенных условий, используйте proc