Cookies er en måte å lagre små datamengder på maskinen til brukeren som surfer inn på sidene våre, som vi kan hente ut igjen når de kommer tilbake en annen gang.
1| #!/usr/bin/ruby 2| require 'cgi' 3| c = CGI.new('html4') 4| 5| # Hent ut den gamle kaken. 6| gammel_cookie = c.cookies['rubywebnuby'] 7| 8| # Kurstekst i første element, antall besøk i andre element. 9| kurs_tekst, antall_tekst = gammel_cookie 10| antall_besok = if antall_tekst then 11| antall_tekst.to_i + 1 12| else 0 end 13| 14| # Lag ny kake. 15| ny_cookie = CGI::Cookie.new('rubywebnuby', # Kakenavn. 16| 'Ruby Web Nuby', antall_besok.to_s # Verdier. 17| ) 18| 19| c.out( 'cookie' => [ny_cookie] ) do # Sett kaken via HTTP. 20| c.html do 21| c.body do 22| # Print ut de forrige kakene 23| gammel_cookie.join(c.br) + 24| "<P>Du har vært her #{antall_besok} ganger før, " + 25| "da i forbindelse med #{kurs_tekst} kurs." 26| end 27| end 28| end |
Cookies er et kjekt verktøy når man ikke har noen database å lagre i, dataene er små eller brukerne er overmåte allergisk mot innloggingsskjermer. Ellers er det kanskje en ide å lagre ting på serversiden og/eller i skjulte input-elementer.