RubyのCGIセッション2024 年の最新の入門チュートリアル。このコースでは CGI :: Sessionクラス, について学習できます。
セッションをクローズする必要が後にCGI :: Sessionが、ユーザーおよびCGI環境永続セッション状態として保存することができますので、あなたは、そのデータが、セッションが終了したとき、あなたはデータを削除する必要があり、メモリに書き込まれるようにすることができます。
#!/usr/bin/ruby require 'cgi' require 'cgi/session' cgi = CGI.new("html4") sess = CGI::Session.new( cgi, "session_key" => "a_test", "prefix" => "rubysess.") lastaccess = sess["lastaccess"].to_s sess["lastaccess"] = Time.now if cgi['bgcolor'][0] =~ /[a-z]/ sess["bgcolor"] = cgi['bgcolor'] end cgi.out{ cgi { cgi.body ("bgcolor" => sess["bgcolor"]){ "The background of this page" + "changes based on the 'bgcolor'" + "each user has in session." + "Last access time: #{lastaccess}" } } }
アクセス」/cgi-bin/test.cgi?bgcolor=red」は、特定のページの背景色にジャンプします。
セッション・データは、prefixパラメータは、一時ファイルの接頭辞として、セッションの接頭辞を指定し、サーバー上の一時ファイルディレクトリに存在します。 サーバー上では簡単に別のセッションに一時ファイルを識別できるように。
CGI :: SessionがユーザとCGI環境の永続的な状態を維持します。 メモリ内のセッションは、ハードディスク上に存在することができます。
RubyのクラスClassのCGI :: Sessionはセッションを作成するための簡単な方法を提供します。
CGI::Session::new( cgi[, option])
CGIは、新しいセッションを有効にし、対応するCGI :: Sessionオブジェクトを返します。 オプションは以下の値とすることができる任意のハッシュとすることができます。
いいえ。 | メソッド説明 |
---|---|
1 | [] キーの値を返します。 例を参照してください。 |
2 | [] = 特定のキー値を設定します。 例を参照してください。 |
3 | 削除します Deleteメソッドは、基礎となるデータベース管理を呼び出します。 ファイルストアの場合は、セッションが含まれている物理ファイルを削除します。 MemoryStoreのために、メモリからのセッションデータを削除します。 |
4 | 更新 基礎となるデータベース管理の更新メソッドを呼び出します。 ファイルストアの場合、セッションがディスクに書き込まれます。 MemoryStore効果なしの場合。 |