我在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如何获取当前用户的会话。我也不明白它在查找中做了什么,没有给出任何参数。
答案 0 :(得分:3)
它不需要传递参数,因为它使用功能为unique session ID的built into Rails。查看authlogic documentation for the find method以获取更多信息。它与Active Record类不同,find
在数据库中查询特定主键。