session:会话

0
视频
0
完成
0%
进度
0
分钟
0
完成
0%
进度

在应用里,每个用户都会有一个 session,也就是会话,在会话里可以存储一点数据,在请求之间你可以利用 session 里的数据。会话里的数据可以在控制器还有视图里使用 ...

你可以自己选择存储 session 的机制,在 config/initializers/session_store.rb 里面,可以配置存储 session 用的机制 ..

默认会使用 cookie 存储 session 数据 ... 你也可以使用缓存,ActiveRecord 这些东西存储 session ..

通过 session 这个实例方法我们可以设置或者得到会话里的数据 ...

先随便找一个控制器 ... 定义一个方法 .. 设置一个 session 可以这样 ...

session[:user_name] = "xiaoxue" ... 意思就是在 session 里添加一条数据,名字是 :user_name ,对应的值是 xiaoxue ..

我们可以直接在这个控制器方法里输出这个 session 的值 ... render plain: session[:user_name] ..

回到浏览器 .. 访问一下 photos ... 页面上显示的就是 :user_name 这个 session 数据 ...

在控制器里再添加一个方法,名字是 show ,在这个方法里再显示一下 :user_name 这个 session 对应的值 ...

def show
render plain: session[:user_name]
end

回到浏览器 .. 访问一下 /photos/1 ... 这个地址是用 photos 控制器里的 show 方法处理的 ... 页面上也会显示 在 index 方法里设置的 :user_name 这个 session 数据的值 ...

删除一个 session 数据,可以让它的值等于 nil ..

现在页面上就不会再显示 :user_name 这个 session 数据了 .. 因为我们已经把它给删除掉了 ...

如果想清空整个 session,可以使用 reset_session 这个方法 ..

session:会话《 Rails:控制器 》

统计

14696
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点