Dies ist das Beispiel, das ich online sehe, wie man Cookies setzt.Wie funktioniert der CGI-Cookie in Ruby?
require "cgi"
cookie = CGI::Cookie.new("rubyweb", "CustID=123", "Part=ABC");
cgi = CGI.new("html3")
cgi.out("cookie" => [cookie]){
cgi.html{
"\nHTML content here"
}
}
ich es auf diese Weise versucht, zu tun und es das Cookie setzt und dann mit einer leeren Seite aufkommt.
#!/usr/local/bin/ruby
require 'cgi'
load 'inc_game.cgi'
cgi = CGI.new
cookie = CGI::Cookie.new("rubyweb", "CustID=123", "Part=ABC");
cgi.out("cookie" => [cookie]){""}
#see if game submit buttons pressed
doIt = cgi['play']
puts "Content-type: text/html\n\n"
play = Game.new
#welcome
if doIt == ''
puts play.displayGreeting
end
#choose weapon
play.playGame
if doIt == 'Play'
move = cgi['weapon']
human = play.humanMove(move)
computer = play.ComputerMove
print human
print computer
result = play.results(human,computer)
play.displayResults(result)
end
Also meine Frage wäre zuerst, was vermisse ich/mache ich falsch? Zweitens frage ich mich, ob jemand erklären möchte, was .out im Gegensatz zu .header tut oder ob es einen Unterschied gibt?
Danke,
Levi
Vom Lesen ein bisschen mehr fand ich heraus, dass cgi.out viel von dem behandelt, was cgi.header würde. Es ist also nur eine prägnantere Möglichkeit, die Ausgabe zu kontrollieren. – Levi