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.
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)
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.
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