在ruby中cookie與其它程式設計語言一樣,有expires,domain,path,secure,name這些參考,下面先看個簡單cookie執行個體。
cookie和session儲存的都是字串,其它類型的資料類型會強制轉換成字串的形式,所以,如果想要要在cookie或session儲存對象資料,必須先將其轉化成位元流形式,訪問的時候再將其轉換成對象的形式,這樣才能在cookie或session中傳遞對象資料
#!/usr/bin/ruby
require "cgi"
cgi = CGI.new("html4")
cookie = CGI::Cookie.new('name' => 'mycookie',
'value' => 'Zara Ali',
'expires' => Time.now + 3600)
cgi.out('cookie' => cookie) do
cgi.head + cgi.body { "Cookie stored" }
end
給予cookie賦值方法
class HelloController < ApplicationController
def set_cookie
cookies[:my_name] = "AAAA"
redirect_to :action => "show_cookie"
end
def show_cookie
my_name = cookies[:my_name]
render(:text => "Hello #{my_name}!")
end
end
輸出所有cookie
#!/usr/bin/ruby
require "cgi"
cgi = CGI.new("html4")
cookie = cgi.cookies['mycookie']
cgi.out('cookie' => cookie) do
cgi.head + cgi.body { "Flavor: " + cookie[0] }
end
Attribute |
Returned Value |
name |
Cookie name |
value |
An array of cookie values |
path |
The cookie's path |
domain |
The domain |
expires |
The expiration time (as a Time object) |
secure |
True if secure cookie |