Rails Cookie和session使用

Rails通过cookies方法来操作cookie,这和session的操作有点类似

class CommentsController < ApplicationController
  def new
    # 假如cookie中有评论者的姓名,则自动调用
    @comment = Comment.new(author: cookies[:commenter_name])
  end

  def create
    @comment = Comment.new(params[:comment])
    if @comment.save
      flash[:notice] = "Thanks for your comment!"
      if params[:remember_name]
        # 设置cookie
        cookies[:commenter_name] = @comment.author
      else
        # 删除cookie中的变量
        cookies.delete(:commenter_name)
      end
      redirect_to @comment.article
    else
      render action: "new"
    end
  end
end

这里需要注意的是,和操作session不一样,删除cookie中的变量时不能简单的设置值为nil,而是需要显示的调用cookie.delete(:key)方法

Rails Cookie和session使用,布布扣,bubuko.com

时间: 2024-08-05 07:09:35

Rails Cookie和session使用的相关文章

登陆功能的记住我选项(Cookie和Session)

会话跟踪是Web程序中常用的技术,用来跟踪用户的整个会话.常用的会话跟踪技术是Cookie与Session. Cookie通过在客户端记录信息确定用户身份,常用于登陆时的记住我选项,只要不清除cookie,那么用户以后重启电脑也不用在输入用户名和密码进行登陆. Session通过在服务器端记录信息确定用户身份,与Cookie不同,Session常用于临时会话,关闭浏览器后就失效了,需要再次登陆. ? 如下,我们创建一个唯一的随机数(用于每个用户的唯一标识保证),名字叫auth_token,所以下

rails中的session

学rails toturial的时候,第八章一直觉得有点没吃透,后来看了两篇rails关于session和cookies源码分析的文章,cookie原理与实现(rails篇) 和session原理与实现(rails篇),终于又纠正了之前的一些误解. 与jsp不同,rails的所谓session的实现默认是把数据存在浏览器的临时cookies里,通过用户的请求回传cookies,服务器获得session中的变量.cookie的key在config/initializers/session_stor

cookie和session得区别

1.cookie 是一种发送到客户浏览器的文本串句柄,并保存在客户机硬盘上,可以用来在某个WEB站点会话间持久的保持数据. 2.session其实指的就是访问者从到达某个特定主页到离开为止的那段时间. Session其实是利用Cookie进行信息处理的,当用户首先进行了请求后,服务端就在用户浏览器上创建了一个Cookie,当这个Session结束时,其实就是意味着这个Cookie就过期了. 注:为这个用户创建的Cookie的名称是aspsessionid.这个Cookie的唯一目的就是为每一个用

学习日常笔记&lt;day11&gt;cookie及session

1.会话管理 1.1会话管理定义 会话管理:管理浏览器客户端和服务端之间的会话过程中产生的会话数据 域对象:实现资源之间的数据共享 request 域对象 context 域对象 1.2.会话技术 Cookie技术:会话数据保存在浏览器客户端中 Session技术:会话数据保存在服务器端 2.Cookie技术 2.1 特点 Session技术:会话数据保存在服务器端 2.2Cookie技术核心 Cookie类:用于存储会话数据 1)构造Cookie对象 Cookie(java.lang.Stri

Cookie和Session

会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话.常用的会话跟踪技术是Cookie与Session.Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端记录信息确定用户身份. 本章将系统地讲述Cookie与Session机制,并比较说明什么时候不能用Cookie,什么时候不能用Session. Cookie机制 Cookie技术是客户端的解决方案,Cookie就是由服务器发给客户端的特殊信息,而这些信息以文本文件的方式存放在客户端,然后客户端每次向

Django进阶(路由系统、中间件、缓存、Cookie和Session

路由系统 1.每个路由规则对应一个view中的函数 url(r'^index/(\d*)', views.index), url(r'^manage/(?P<name>\w*)/(?P<id>\d*)', views.manage), url(r'^manage/(?P<name>\w*)', views.manage,{'id':333}), 2.根据app对路由规则进行一次分类 rl(r'^web/',include('web.urls')), 1.每个路由规则对应

cookie、session、sessionid 与jsessionid

cookie.session.sessionid 与jsessionid,要想明白他们之间的关系,下面来看个有趣的场景来帮你理解. 我们都知道银行,银行的收柜台每天要接待客户存款/取款业务,可以有几种方案: 1. 凭借柜台职员的记忆:由收柜台职员来为每位顾客办理存款/取款业务,单凭职员的记忆力,要记到每位顾客的相貌,并迅速知道顾客当前的存款以及存取的次数,每次存取的金额是多少.---- 这种方式表示协议本身支持状态. 2. 使用存折的方式:职员把每个顾客的存款/取款的信息保存在存折上,然后交给顾

cookie、session、localStorage、sessionStorage区别

cookie.session 会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话.常用的会话跟踪技术是Cookie与Session.Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端记录信息确定用户身份. 本章将系统地讲述Cookie与Session机制,并比较说明什么时候不能用Cookie,什么时候不能用Session. cookie 1.1  Cookie机制 在程序中,会话跟踪是很重要的事情.理论上,一个用户的所有请求操作都应该属于同一个会话

Node Express 操作( Cookie 和 Session )

1, Cookie 操作, 需要安装 cookie-parser 依赖 => npm i cookie-parser -D 2, 基本使用 // 引入 express let express = require('express'); let cookieParse = require('cookie-parser'); // cookie 依赖 // 创建服务器 var server = express(); server.listen(80); // 响应请求 server.use(cook