Authlogic current_user_session和current_user

时间:2012-04-08 21:30:07

标签: ruby-on-rails authentication authlogic

我在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如何获取当前用户的会话。我也不明白它在查找中做了什么,没有给出任何参数。

1 个答案:

答案 0 :(得分:3)

它不需要传递参数,因为它使用功能为unique session IDbuilt into Rails。查看authlogic documentation for the find method以获取更多信息。它与Active Record类不同,find在数据库中查询特定主键。