[RUBY] Le phénomène selon lequel vous ne pouvez pas vous déconnecter même s'il est décrit dans la conception

introduction

J'ai introduit la conception et implémenté la fonction de gestion des utilisateurs, mais j'ai rencontré une erreur inattendue, je vais donc l'enregistrer.

contenu de l'erreur

Routing Error No route matches [GET] "/users/sign_out"

<%= link_to 'Se déconnecter', destroy_user_session_path, method: :delete, class: :logout %>

Bien sûr, il a également été décrit dans le fichier de vue comme method :: delete. Pour une raison quelconque, la méthode HTTP recherchait GET dans le routage.

Redémarrez le serveur local

Au terminal 「control + c」 contribution. Exécutez à nouveau "rails s" dans le terminal

Technique rugueuse! ??

config/initializers/devise.rb/Ligne 269


config.sign_out_via = :delete

Remplacez : delete par: get.

finalement

Même s'il y a une description, je ne comprends toujours pas pourquoi cette erreur s'est produite ... Même avec exactement la même description, il y a des moments où une erreur se produit et des moments où ce n'est pas le cas.

Recommended Posts

Le phénomène selon lequel vous ne pouvez pas vous déconnecter même s'il est décrit dans la conception
[Discussion] Pourquoi System.out (in, err) est-il initialisé avec null même s'il s'agit d'une constante?
[rails] Problèmes qui ne peuvent pas être enregistrés / connectés avec l'appareil
Résolution du problème suivant: «Le temps de réponse est trop long» dans le domaine d'origine, même si l'adresse IP et l'adresse EC2 peuvent être entrées dans le site.
Fonction similaire La partie bloquée pour la rendre asynchrone
Même si method :: delete dans la méthode link_to, HTTP devient GET.
Un hachage actif qui peut être traité comme des données même s'il n'est pas dans la base de données
Même si le chemin du fichier de propriétés est spécifié dans l'option -cp, il n'est pas reconnu comme chemin de classe.