In my Rails app, I have a login page. After that person logs in, what is the best way for my app to continue tracking the person that has logged in. For example, if the user moves to different pages, my controllers/actions will lose track of that user unless I keep passing a variable between each page the user subsequently visits. Is there a better way of doing this? Should I be using the sessions
variable?
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
Yes, sessions are exactly what you are looking for.
session["user_id"] = user_id
And to fetch the current user on another page (if your model is called User):
@current_user = User.find(session["user_id]")
回答2:
Strongly consider a plugin to manage this.
There are several, such as restful authentication.
This gives current_user
and logged_in?
functionality.
回答3:
There are some great gems that do this
Devise
AuthLogic