当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。