Rails Cookies与Session操作汇总

编程技术  /  houtizong 发布于 3年前   92

 可以在controller与view中直接通过session与cookies访问,在model中无法访问。

Session
#存信息session[:current_user_id] = user.id#取信息session[:current_user_id]#删除信息session[:current_user_id] = nil#清空信息reset_session
 

Cookies

cookies操作稍微有点多,因为关系到明文/加密,过期时长
1、默认为关闭浏览器,自动过期;明文存储。

#存信息cookies[:id] = "rubyer.me"#取信息cookies[:id] #输出"rubyer.me"#删除信息cookies.delete(:key) #与session不同#清空信息(不能直接删除,置过期即可)<% cookies[:id] = {:expires => 2.weeks.ago.utc} %>

 

2、指定2周后过期

cookies[:user_preference] = {  :value => @current_user.preferences,  :expires => 2.weeks.from_now.utc}

 

3、永久存储。实际为20年后过期,非永久

cookies.permanent[:user_preference] = @current_user.preferences

 

相当于
cookies[:user_preference] = {  :value => @current_user.preferences,  :expires => 20.years.from_now.utc}
 4、加密存储,key即为config/initializers/secret_token.rb中的Application.config.secret_token
cookies.signed[:id] = "45"#存储结果类似cookies[:id] #返回“BAhJIgc0NQY6BkVU--a07249e5ce4374f62b7af628c70c679caa11c10b”#读取值cookies.signed[:id] #返回"45"
 

5、加密并永久存储

cookies.permanent.signed[:id] = "45"cookies.signed[:id]

 from:http://rubyer.me/blog/823

请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!

留言需要登陆哦

技术博客集 - 网站简介:
前后端技术:
后端基于Hyperf2.1框架开发,前端使用Bootstrap可视化布局系统生成

网站主要作用:
1.编程技术分享及讨论交流,内置聊天系统;
2.测试交流框架问题,比如:Hyperf、Laravel、TP、beego;
3.本站数据是基于大数据采集等爬虫技术为基础助力分享知识,如有侵权请发邮件到站长邮箱,站长会尽快处理;
4.站长邮箱:[email protected];

      订阅博客周刊 去订阅

文章归档

文章标签

友情链接

Auther ·HouTiZong
侯体宗的博客
© 2020 zongscan.com
版权所有ICP证 : 粤ICP备20027696号
PHP交流群 也可以扫右边的二维码
侯体宗的博客