Wie überschreibe ich Devise Controller und Devise Routen gleichzeitig?

8

Ich verwende Rails 4.0.2 und Devise 3.2.2, um Benutzerregistrierung / Authentifizierung zu handhaben.

Ich habe gegoogelt und stackoverflow nach Antworten gesucht, kann nicht wirklich etwas finden, das meine Frage beantworten kann.

Der folgende Code ist mein routes.rb . Ich habe alle Sitzungsrouten und Registrierungsrouten übersprungen, aber Devise verwendet aus irgendeinem Grund meine benutzerdefinierte registrations_controller.rb nicht Wenn ja, sollte es nach / pages / success umgeleitet werden (siehe unten mein registrations_controller.rb)

routes.rb

%Vor%

registrations_controller.rb

%Vor%     
laman 27.02.2014, 08:34
quelle

1 Antwort

11

Es gibt mehrere mögliche Probleme, die Sie möglicherweise haben:

Überspringen

Wenn Sie die Registrationsfunktion überspringen, würde ich mir vorstellen, dass dadurch Devise Ihren RegistrationsController nicht aufrufen würde?

Ich würde das persönlich tun (korrigieren Sie Ihre Routen):

%Vor%

Dies gibt Ihnen die Routen, die Sie benötigen, und wird zur "authentifizierten" Indexseite in Ihrer App weitergeleitet, sodass entweder die Login- oder Registrierungsseite für Devise angezeigt wird

Definition

Das andere Problem, das Sie möglicherweise haben, ist eine falsche Definition Ihres Devise-Registration-Controllers. Wir verwenden diesen Code in einer sehr aktuellen Entwicklungs-App:

%Vor%

Vielleicht könnten Sie versuchen, :: vor Ihrem Devise::RegistrationsController zu verwenden, um zu sehen, ob es anruft?

    
Richard Peck 27.02.2014, 09:13
quelle