Rails:跟踪用户的ID

在我的Rails应用程序中,我有一个登录页面。 在该人登录后,我的应用程序继续跟踪已登录的人的最佳方式是什么。例如,如果用户移动到不同的页面,我的控制器/操作将失去对该用户的跟踪,除非我继续通过用户随后访问的每个页面之间的变量。 有更好的方法吗? 我应该使用sessions变量吗?

是的,会话正是您正在寻找的。

 session["user_id"] = user_id 

并在另一个页面上获取当前用户(如果您的模型名为User):

 @current_user = User.find(session["user_id]") 

强烈考虑一个插件来管理它。

有几种,例如restful authentication 。

这给出了current_userlogged_in? function。

有一些很棒的gem可以做到这一点

  • 设计

  • AuthLogic