Ответ 1
Вам нужно вызвать skip_confirmation! перед сохранением записи.
Try
user = User.new(:first_name => "blah")
user.skip_confirmation!
user.save
Я использую придуманный камень, и, создавая пользователя, я хочу пропустить его. и пропустите электронную почту с подтверждением, например:
User.create(:first_name => "vidur", :last_name => "punj").confirm!.skip_confirmation!
Но он пропускает только подтверждение и не пропускает отправку подтверждающего письма. Может кто-нибудь дать мне идею пропустить оба.
Вам нужно вызвать skip_confirmation! перед сохранением записи.
Try
user = User.new(:first_name => "blah")
user.skip_confirmation!
user.save
Вы вызываете User.create перед skip_confirmation!, вам нужно вызвать 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: '[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]')
Если вы запутались, где написать метод 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