2010-11-18 7 views

Odpowiedz

12

Utwórz kontroler z klasą Dewelacja :: RejestrowanieController heriting. Po dodaniu filtra. Wystarczy zdefiniować ten kontroler jak kontroler rejestracji

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

W swojej routes.rb

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

dzięki to właśnie szukałem – stephenmurdoch

+1

To już nie działa ... – nverinaud

+4

@nverinaud wiem, że to było ponad rok odkąd skomentował, ale tylko jako heads up, możesz to rozwiązać, używając 'authenticate_scope!'. –

4

To nie pracował dla mnie, bo authenticate_user! nie nazywa uzyskiwanie.

Naprawiłem to w ten sposób:

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

Masz tu świetny punkt, zwykle standardowa aplikacja Railsowa nie używa Devise do każdej akcji, więc twoje rozwiązanie jest bardzo ważne. To właśnie dla mnie zadziałało. – Puce

Powiązane problemy