ruby-on-rails - español - rails authentication
Diseñe la confirmación de omisión de gemas y omita la confirmación por correo electrónico, ambas a la vez (7)
¡Está llamando a User.create antes de skip_confirmation !, necesita llamar a User.new y user.save más adelante.
Tratar
user = User.new(:first_name => "vidur", :last_name => "punj")
user.skip_confirmation!
user.save!
¡Estoy usando la gema de diseño y al crear al usuario me salteo la con fi nmación! y omita el correo electrónico de confimación, por ejemplo:
User.create(:first_name => "vidur", :last_name => "punj").confirm!.skip_confirmation!
Pero omite solo la confirmación y no omite el envío de correo electrónico de confirmación. ¿Alguien puede darme una idea para omitir ambos?
¡Tienes que llamar a skip_confirmation! antes de guardar el registro
Tratar
user = User.new(:first_name => "blah")
user.skip_confirmation!
user.save
Si no necesita confirmaciones, puede eliminar el símbolo :confirmable
en su modelo.
Got the solution:
@user=User.new(:first_name => "vidur", :last_name => "punj")
@user.skip_confirmation!
@user.confirm!
@user.save
establecer el campo confirm_at
User.create!(confirmed_at: Time.now, email: ''[email protected]'', ...)
útil en 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]'')
¡Si está confundido dónde escribir skip_confirmation!
método en el controlador ya que aún no ha generado controladores de diseño:
Escribe esto en tu modelo de User
before_create :my_method
def my_method
self.skip_confirmation!
end
Ahora simplemente usa:
user = User.new(:first_name => "Gagan")
user.save
after_create: :skip_confirmation_notification
- consulta aquí
Si desea omitir_confirmación_notificación solo en ciertas condiciones, use un proceso