2009-10-12 8 views
6

Me encontré con este método llamado registro que Ryan Bates usa en su authlogic Railscast y parece que no puede entender lo que hace. He revisado la documentación, pero parece que no puedo entender cómo es útil esa ayuda.El método de registro Authlogic. ¿Qué hace esto?

def current_user 
    return @current_user if defined?(@current_user) 

    current_user_session && current_user_session.record 
end 

Lo que quiero saber es qué esto simplemente buscar el registro de la base de datos y por qué es diferente de la forma habitual de ir a buscar los datos de la base de datos.

Gracias.

Respuesta

9

Este método de "registro" es una relación belongs_to entre la UserSession y los modelos de usuario. Por lo tanto, según la sesión, devuelve el usuario.

Sin embargo, según el documentation, ya no se trata de un "registro". Pero "usuario". Así que su método de ayuda del usuario actual debe ser el siguiente:

def current_user 
    return @current_user if defined?(@current_user) 
    @current_user = current_user_session && current_user_session.user 
end 
+0

Muchas gracias. Eso fue realmente útil. Saludos – Sid

Cuestiones relacionadas