Authlogic current_user_session и current_user

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

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, где не приводится никаких аргументов.


person Jonathan    schedule 08.04.2012    source источник


Ответы (1)


Ему не нужно передавать аргумент, поскольку он использует уникальный идентификатор сеанса, функциональность которого встроена в Rails. Ознакомьтесь с документацией authlogic для метода поиска для получения дополнительной информации. Это не то же самое, что класс Active Record, где find запрашивает у базы данных определенный первичный ключ.

person Peter Brown    schedule 08.04.2012