2010-11-18 15 views

Respuesta

12

Crea un controlador con la clase Devise :: RegistrationsController heriting. Después de que puedas agregar tu filtro. Sólo se necesita definir este controlador como controlador de registro

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

En su routes.rb

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

gracias esto es lo que estaba buscando – stephenmurdoch

+1

Es ya no funciona ... – nverinaud

+4

@nverinaud Yo sé que ha pasado más de un año desde que te comento, pero, al igual como aviso, puedes resolverlo usando en su lugar 'authenticate_scope!'. –

4

No trabajó para mí porque authenticate_user! no está recibiendo llamados.

i fijo de esa manera:

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

Tiene un gran punto aquí, por lo general, una aplicación estándar de Rails no utiliza el Devise para cada acción, por lo que su solución es muy válida. Esto es lo que funcionó para mí. – Puce

Cuestiones relacionadas