當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


Ruby Session.new用法及代碼示例

本文簡要介紹ruby語言中 CGI::Session.new 的用法。

用法

new(request, option={})

request 創建一個新的 CGI::Session 對象。

requestCGI 類的一個實例(參見 cgi.rb)。 option 是用於初始化此 CGI::Session 實例的選項哈希。認可以下選項:

session_key

用於會話 ID 的參數名稱。默認為‘_session_id’。

session_id

要使用的會話 ID。如果未提供,則從請求的session_key 參數中檢索,或為新會話自動生成。

new_session

如果為真,則強製創建新會話。如果未設置,則僅當當前不存在時才創建新會話。如果為 false,則永遠不會創建新會話,如果當前不存在且未設置 session_id 選項,則會引發 ArgumentError

database_manager

為會話狀態持久性提供存儲設施的類的名稱。為 FileStore(默認)、MemoryStorePStore(來自 cgi/session/pstore.rb)提供了內置支持。有關更多詳細信息,請參閱這些類的文檔。

以下選項也可以識別,但僅適用於會話 ID 存儲在 cookie 中的情況。

session_expires

當前會話到期的時間,作為 Time 對象。如果未設置,會話將在用戶瀏覽器關閉時終止。

session_domain

此會話對其有效的主機名域。如果未設置,則默認為服務器的主機名。

session_secure

如果 true ,此會話將僅通過 HTTPS 工作。

session_path

此會話適用的路徑。默認為 CGI 腳本的目錄。

option 也傳遞給會話存儲類初始化器;有關它們支持的選項,請參閱每個會話存儲類的文檔。

檢索或創建的會話將作為 cookie 自動添加到 request 以及它的 output_hidden 表中,該表用於將隱藏的輸入元素添加到表單中。

警告 output_hidden 字段在 HTML 4 生成中被

標記包圍,在許多瀏覽器中 not 是不可見的;您可能希望禁用使用類似於以下代碼的字段集(請參閱blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-list/37805)

cgi = CGI.new("html4")
class << cgi
    undef_method :fieldset
end

相關用法


注:本文由純淨天空篩選整理自ruby-lang.org大神的英文原創作品 Session.new。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。