[RUBY] Das Phänomen, dass Sie sich nicht abmelden können, obwohl es in devise beschrieben ist

Einführung

Ich habe devise eingeführt und die Benutzerverwaltungsfunktion implementiert, bin jedoch auf einen unerwarteten Fehler gestoßen, sodass ich ihn aufzeichnen werde.

Fehlerinhalt

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

<%= link_to 'Ausloggen', destroy_user_session_path, method: :delete, class: :logout %>

Natürlich wurde es in der Ansichtsdatei auch als method :: delete beschrieben. Aus irgendeinem Grund hat die HTTP-Methode im Routing nach GET gesucht.

Starten Sie den lokalen Server neu

Am Terminal 「control + c」 Eingang. Führen Sie "Rails s" erneut im Terminal aus

Grobe Technik! ??

config/initializers/devise.rb/Zeile 269


config.sign_out_via = :delete

Ändern Sie : delete in: get.

Schließlich

Obwohl es eine Beschreibung gibt, verstehe ich immer noch nicht, warum dieser Fehler aufgetreten ist ... Selbst mit genau der gleichen Beschreibung gibt es Zeiten, in denen ein Fehler auftritt, und Zeiten, in denen dies nicht der Fall ist.

Recommended Posts

Das Phänomen, dass Sie sich nicht abmelden können, obwohl es in devise beschrieben ist
[Diskussion] Warum wird System.out (in, err) mit null initialisiert, obwohl es eine Konstante ist?
[Rails] Probleme, die mit devise nicht registriert / angemeldet werden können
Das Problem, dass "Antwortzeit zu lang ist" in der ursprünglichen Domäne behoben, obwohl IP-Adresse und EC2-Adresse auf der Site eingegeben werden können, wurde behoben.
Like-Funktion Der Teil, der feststeckt, um es asynchron zu machen
Selbst wenn method :: delete in der link_to-Methode verwendet wird, wird HTTP zu GET.
Ein aktiver Hash, der als Daten behandelt werden kann, auch wenn er nicht in der Datenbank enthalten ist
Obwohl der Pfad der Eigenschaftendatei in der Option -cp angegeben ist, wird er nicht als Klassenpfad erkannt.