在 Rails 中,会话信息默认被保存在浏览器的 cookie 中。
然后,通过控制器使用session
实例,可以设定/获取会话的值。
环境确认
设置会话的值
像下面这样,可以从控制器内像 hash 一样访问 session 实例。
# app/controllers/logins_controller.rb
class LoginsController < ApplicationController
# 登录
def create
if user = User.authenticate(params[:username], params[:password])
# 在会话中保存用户ID
session[:user_id] = user.id
redirect_to root_url
end
end
end
从会话中获取值
如下所示,设定的值也可以从会话取得值。
# app/controllers/ap...