`
clark1231
  • 浏览: 256493 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

Rails Cookies与Session操作汇总

阅读更多

Rails 操作 session 和 cookies 非常简单,可以在 controller 与 view 中直接访问,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

 

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]

分享到:
评论

相关推荐

    rails-session_cookie:一个用于获取原始Rails会话Cookie的机架应用

    Rails :: SessionCookie 快速,松散耦合的请求有关经过Cookie验证的应用程序的规范。 为什么 可能,您可能已经看到了很多像这样的代码: # config/initializers/session_store.rb Rails . application . config . ...

    ruby on rails对mongodb的操作

    本文将深入探讨如何在Ruby on Rails中集成并操作MongoDB。 首先,我们需要安装必要的库。MongoDB的Ruby驱动程序是`mongo` gem,而`mongoid`或`mongo_mapper`是两个流行的ORM(对象关系映射)工具,它们允许我们用...

    activerecord-session_store, 从 Rails 中提取的记录存储的活动会话.zip

    activerecord-session_store, 从 Rails 中提取的记录存储的活动会话 Active Record 会话存储由 Active Record 类支持的会话存储。 提供了默认类,但是任何对 Active Record 会话类的对象鸭类型都有文本 session_id ...

    Rails相关电子书汇总

    标题 "Rails相关电子书汇总" 暗示了这个压缩包包含了关于Ruby on Rails框架的电子书籍资源。Ruby on Rails,通常简称为Rails,是一个基于Ruby语言的开源Web应用程序框架,它遵循MVC(模型-视图-控制器)架构模式,以...

    rails敏捷开发的购物车系统

    Rails提供了Session存储,可以用来临时存储用户的购物车信息,但这种存储方式不适用于持久保存。因此,通常我们会将购物车内容存入数据库,以便用户在不同会话之间保持购物车状态。在添加或删除商品时,更新购物车...

    Rails 101 入门电子书

    ### Rails 101 入门电子书知识点详解 #### 一、简介 ...通过以上内容的学习,初学者可以全面掌握Ruby on Rails的基础知识,包括环境搭建、基本操作、高级特性等,为后续更深入的学习打下坚实的基础。

    Rails101_by_rails4.0

    《Rails101_by_rails4.0》是一本专注于Rails 4.0.0版本和Ruby 2.0.0版本的自学教程书籍,它定位于中文读者,旨在成为学习Rails框架的参考教材。Rails(Ruby on Rails)是一个采用Ruby语言编写的开源Web应用框架,它...

    rails操作.docx

    《Rails操作详解:快速步入Web开发新境界》 Ruby on Rails(简称Rails)是一个基于Ruby编程语言的开源Web应用程序框架,以其高效的开发速度和优雅的代码结构闻名于世。Rails的核心理念是“Don't Repeat Yourself”...

    Rails项目源代码

    Rails使用ActiveRecord作为ORM,它使得Ruby类可以直接与数据库表进行交互。在这个项目中,`User`和`Image`模型可能会与数据库中的相应表关联,通过定义属性和关系,如`has_many :images`表示一个用户可以拥有多个...

    关于rails 3.1 cucumber-rails 1.2.0

    Cucumber-Rails集成了Cucumber与Rails,使得开发者能够在Rails环境中方便地使用Cucumber进行功能测试。 在 Rails 应用中使用 Cucumber-Rails,开发者可以创建一个名为`features`的目录,里面包含这些Gherkin特性...

    rails 项目起步示例

    - **ActiveRecord**:Rails内置的ORM(对象关系映射)工具,负责与数据库的交互。 - **Routes**:Rails的路由系统将URL映射到控制器的行动上,定义了应用程序的导航路径。 - **Scaffolding**:快速生成基本的CRUD...

    rails3.1安装与mysql配置 windows

    标题 "rails3.1安装与mysql配置 windows" 涉及到的是在Windows操作系统上安装Ruby on Rails 3.1框架并配置MySQL数据库的过程。这是一个关键的开发环境设置步骤,对于使用Rails进行Web开发的程序员来说至关重要。Ruby...

    adminlte-rails, AdminLTE Rails gem 将AdminLTE主题与 Rails 资产管道集成.zip

    adminlte-rails, AdminLTE Rails gem 将AdminLTE主题与 Rails 资产管道集成 AdminLTE Rails gem AdminLTE 是后端的高级 Bootstrap 主题。英镑 AdminLTE Rails gem 与 Rails 资产管道集成了英镑AdminLTE主题。安装将...

    rails指南 中文版

    1. **ActiveRecord**:这是Rails框架中的ORM(Object-Relational Mapping)组件,它负责处理数据库操作。通过ActiveRecord,开发者可以使用面向对象的方式来操作数据,而无需编写SQL语句。 2. **ActionController**...

    Rails

    2. **Active Record**:这是Rails中的ORM(对象关系映射)库,它允许开发者用Ruby代码操作数据库,无需编写SQL语句。 3. **Action Controller**:负责处理HTTP请求并调用模型来执行业务逻辑,然后将结果传递给视图...

    ruby on rails与MySql的环境配置——支持rails 2.3.5以上版本

    总之,配置Ruby on Rails与MySQL环境虽然需要一些步骤,但只要按照指南一步步操作,大部分开发者都能成功完成。记得在配置过程中遇到困难不要灰心,多尝试、多搜索,一定能够找到解决方案。通过这样的实践,你将对...

    使用Aptana+Rails开发Rails Web应用(中文)

    本教程将详细介绍如何使用Aptana与Rails结合,创建一个功能完备的Web应用程序。 首先,我们需要安装Aptana Studio。你可以从其官方网站下载最新版本的安装包。安装过程中,遵循提示进行,确保选择自定义安装并勾选...

    rails2-sample

    从给定的文件信息来看,我们正在探讨的是一本关于Ruby on Rails的书籍,书名为《Simply Rails2》,作者是Patrick Lenz。本书旨在为初学者提供深入理解Ruby on Rails框架的指南,从基础概念到高级主题均有涵盖,是...

    Rails 101S

    - **整合Bootstrap与版型设置**:介绍如何将Bootstrap框架集成到Rails应用中,并设置基础版型,以提升用户体验。 - **深入实践CRUD功能**:详细讲解如何具体实现CRUD操作,包括数据验证、错误处理等高级特性。 - **...

Global site tag (gtag.js) - Google Analytics