2010-11-18 6 views

Antwort

12

Erstellen Sie einen Controller mit der Klasse Devise :: RegistrationsController heriting. Nachdem Sie Ihren Filter hinzufügen können. Sie müssen nur diesen Controller wie Registrierungscontroller

class RegistrationsController < Devise::RegistrationsController 
    before_filter :authenticate_user! 
end 

In Ihrem routes.rb definieren

devise_for :users, :controllers => { :registrations => 'registrations'} 
+0

Dank das ist, was ich für – stephenmurdoch

+1

suchen Es funktioniert nicht mehr ... – nverinaud

+4

@nverinaud Ich weiß, dass es mehr gewesen als ein Jahr her, seit Sie kommentiert, aber nur als heads-up kannst du das mit "authenticate_scope!" lösen. –

4

Es dauerte nicht für mich gearbeitet, weil authenticate_user! nicht aufgerufen zu werden.

ich es fest, dass die Art und Weise:

class RegistrationsController < Devise::RegistrationsController 
    before_filter :prevent_sign_up 

private 
    def prevent_sign_up 
     redirect_to new_user_session_path and return 
    end 
end 
+1

Sie haben hier einen wichtigen Punkt, normalerweise verwendet eine Standard-Rails-App Devise nicht für jede Aktion, daher ist Ihre Lösung sehr gültig. Das hat bei mir funktioniert. – Puce

Verwandte Themen