2011-11-04 31 views
6

Estoy usando el dispositivo en mi aplicación ruby-on-rails. Tengo una clase de usuario y una clase AdminUser usando el dispositivo. En mi panel de administración, me gustaría cerrar la sesión de todos los Usuarios pero no de los Administradores.Cerrar sesión en todos los usuarios con Devise

Respuesta

16

La mejor manera de hacer esto es utilizar el nivel de ámbito cerrar la sesión métodos. Por lo tanto, si desea cerrar la sesión de todos los usuarios (clase de usuario), entonces haría esto.

sign_out :user 
+1

es mejor dejar respuestas más descriptivas que no ... dos centavos –

0
@users = User.all 
@users.log_out 

y

Suponiendo que está usando la autenticación de base de datos.

+0

Gracias. Estoy usando idear: database_authenticatable. No veo lo que necesita ser eliminado. – MIkeO

+0

Intenta ejecutar en todos los usuarios con destroy_user_session_path (usuario). – CamelCamelCamel

14

Muy tarde, pero la respuesta podría ser algo como esto

for user in User.all 
    sign_out user 
end 
2

Como alguien dijo here, la forma más sencilla de hacer esto es cambiar los rieles elemento secreto.

Cuestiones relacionadas