- 学习 Ruby on Rails
- Rails 2.1 首页
- Rails 2.1 简介
- Rails 2.1 安装
- Rails 2.1 框架
- Rails 2.1 目录结构
- Rails 2.1 示例
- Rails 2.1 数据库设置
- Rails 2.1 活动记录
- Rails 2.1 迁移
- Rails 2.1 控制器
- Rails 2.1 视图
- Rails 2.1 布局
- Rails 2.1 脚手架
- Rails 2.1 和 AJAX
- Rails 2.1 文件上传
- Rails 2.1 发送电子邮件
- 高级 Ruby on Rails 2.1
- Rails 2.1 RMagick 指南
- Rails 2.1 基本 HTTP 身份验证
- Rails 2.1 错误处理
- Rails 2.1 路由系统
- Rails 2.1 单元测试
- 高级 Ruby on Rails 2.1
- Rails 2.1 技巧和窍门
- 快速参考指南
- 快速参考指南
- Ruby on Rails 2.1 有用资源
- Ruby on Rails 2.1 - 资源
- Ruby on Rails 2.1 - 讨论
Ruby on Rails 2.1 - 会话和 Cookie
会话
要跨多个请求保存数据,可以使用会话或闪存哈希。闪存将值(通常为文本)存储到下次请求,而会话则在整个会话期间存储数据。
session[:user] = @user flash[:message] = "Data was saved successfully" <%= link_to "login", :action => 'login' unless session[:user] %> <% if flash[:message] %> <div><%= h flash[:message] %></div> <% end %>
可以关闭会话管理。
session :off # turn session management off session :off, :only => :action # only for this :action session :off, :except => :action # except for this action session :only => :foo, # only for :foo when doing HTTPS :session_secure => true session :off, :only=>:foo, # off for foo,if uses as Web Service :if => Proc.new { |req| req.parameters[:ws] }
Cookie
以下是可以用来设置 Cookie 的语法 −
# Set a simple session cookie cookies[:user_name] = "david" # Set a cookie that expires in 1 hour cookies[:login] = { :value => "XJ12", :expires => Time.now + 3600}
以下是读取 Cookie 的语法 −
cookies[:user_name] # => "david" cookies.size # => 2
以下是删除 Cookie 的语法 −
cookies.delete :user_name
设置 Cookie 的选项符号如下 −
值 − Cookie 的值或值列表(以数组形式)。
路径 − 此 Cookie 适用的路径。默认为应用程序的根目录。
域 − 此 Cookie 适用的域。
过期时间 − 此 Cookie 过期的时间,以 +Time+ 对象表示。
安全 − 此 Cookie 是否为安全 Cookie(默认为 false)。安全 Cookie 仅传输到 HTTPS 服务器。
rails-quick-guide.htm
广告