2012-04-08 3 views
4

У меня есть следующие вспомогательные методы в application_controller.rb для authlogic:Authlogic current_user_session и current_user

def current_user_session 
    return @current_user_session if defined?(@current_user_session) 
    @current_user_session = UserSession.find 
end 

def current_user 
    return @current_user if defined?(@current_user) 
    @current_user = current_user_session && current_user_session.record 
end 

Я не понимаю, как метод current_user_session - в частности, как UserSession.find получает сеанс текущего пользователя. Я также не понимаю, что он делает с find, где аргумент не указан.

ответ

3

Ему не нужно передавать аргумент, так как он использует unique session ID, функциональность которого built into Rails. За более подробной информацией обращайтесь к authlogic documentation for the find method. Это не то же самое, что класс Active Record, где find запрашивает базу данных для определенного первичного ключа.

 Смежные вопросы

  • Нет связанных вопросов^_^