web-dev-qa-db-fra.com

Rails 4 - Concevoir, ignorer la notification de confirmation: after_create

Dans Rails 4.2.0, j'utilise la gemme Devise pour l'authentification - devise 3.4.1.

L'email de confirmation est envoyé dès qu'un utilisateur est créé. Nous devons ignorer cet e-mail de confirmation et envoyer un e-mail personnalisé avec le lien de confirmation. S'il vous plaît aidez-moi à résoudre ce problème.

:confirmable est utilisé dans le modèle utilisateur.

15
Shruthi R

Tu peux essayer ça

@user.skip_confirmation!
@user.save

Appelez skip_confirmation! avant de sauvegarder la fiche utilisateur.

Pour ignorer la notification de confirmation uniquement, vous pouvez utiliser skip_confirmation_notification!

@user.skip_confirmation_notification!
@user.save

J'espère que cela t'aides!


En outre

si vous souhaitez ignorer la confirmation sur la même ligne sans créer de variable et que vous n'avez pas besoin de confirmer cet utilisateur particulier, par exemple dans seeds.rb

User.create(email: "#{role_name}@example.com",
            password: 'password',
            password_confirmation: 'password',
            confirmed_at: Time.now.utc, # skip confirmation)
27
Rajdeep Singh

Au lieu de désactiver le courrier électronique de confirmation de la version d’impact et d’envoyer votre adresse électronique personnalisée, vous pouvez personnaliser l’e-mail de confirmation de la solution. Vous pouvez générer des fichiers en mode d'affichage à l'aide de

Rails generate devise:views

puis personnalisez le courrier électronique de confirmation.

2
bunty

Tu peux le faire:

cela peut être le contrôleur utilisateur

@user = User.new(email: "#{role_name}@example.com",
        password: 'password',
        password_confirmation: 'password',
        confirmed_at: Time.now.utc, # skip confirmation)
@user.skip_confirmation!
@user.confirm
if @user.save
  MyMailer.confirmation(@user)
else
# your implementation
end

Voir la doc https://github.com/plataformatec/devise/wiki/How-To:-Use-custom-mailer