Vous ne pouvez pas utiliser cette solution, sans modifier le design bien sûr. Devise enverra vos conditions directement à la base de données, donc pas moyen d'appeler une méthode ou d'utiliser une bibliothèque comme squeel (qui permettra quelque chose comme where{created_at == nil}
.
Vous pouvez utiliser la solution fournie dans Comment "supprimer en douceur" un utilisateur avec Devise , mais le message d'erreur sera :"Vous devez confirmer votre compte avant de continuer."
Ajoutez ceci à votre modèle de ressource :
def inactive_message
!!deleted_at ? :deleted : super
end
Et ajoutez un message à vos paramètres régionaux :
en:
devise:
failure:
deleted: "Your account was deleted."
J'espère que cela vous aidera !