2009-10-12 8 views
6

Je suis tombé sur cette méthode appelée record que Ryan Bates utilise dans son Railscast authlogic et ne peut pas sembler comprendre ce qu'il fait. J'ai parcouru la documentation, mais je n'arrive pas à comprendre comment cette aide est utile.La méthode d'enregistrement Authlogic. Qu'est-ce que cela fait

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

    current_user_session && current_user_session.record 
end 

Ce que je veux savoir est-ce simplement chercher le dossier de la base de données et pourquoi il est différent de la manière standard de la récupération des données de la base de données.

Merci.

Répondre

9

Cette méthode "record" est une relation appartenant à l'utilisateur entre les modèles UserSession et User. Donc basé sur la session, il renvoie l'utilisateur. Cependant, sur la base du documentation, ce n'est plus "record". Mais "utilisateur". Donc votre méthode d'assistance current_user devrait être la suivante:

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

Merci beaucoup. C'était vraiment utile. À la votre – Sid