Create a new CGI::Session object for
request
.
request
is an instance of the CGI
class (see
cgi.rb). option
is a hash of options for initialising this CGI::Session instance. The following options are
recognised:
- session_key
-
the parameter name used for the session id. Defaults to '_session_id'.
- #session_id
-
the session id to use. If not provided, then it is retrieved from the
session_key
parameter of the request, or automatically generated for a new session. - #new_session
-
if true, force creation of a new session. If not set, a new session is only created if none currently exists. If false, a new session is never created, and if none currently exists and the
session_id
option is not set, an ArgumentError is raised. - database_manager
-
the name of the class providing storage facilities for session state persistence. Built-in support is provided for
FileStore
(the default),MemoryStore
, andPStore
(from cgi/session/pstore.rb). See the documentation for these classes for more details.
The following options are also recognised, but only apply if the session id is stored in a cookie.
- session_expires
-
the time the current session expires, as a
Time
object. If not set, the session will terminate when the user's browser is closed. - session_domain
-
the hostname domain for which this session is valid. If not set, defaults to the hostname of the server.
- session_secure
-
if
true
, this session will only work over HTTPS. - session_path
-
the path for which this session applies. Defaults to the directory of the CGI script.
option
is also passed on to the session storage class
initializer; see the documentation for each session storage class for the
options they support.
The retrieved or created session is automatically added to
request
as a cookie, and also to its
output_hidden
table, which is used to add hidden input
elements to forms.
WARNING the output_hidden
fields are
surrounded by a <fieldset> tag in HTML 4 generation, which is
not invisible on many browsers; you may wish to disable the use of
fieldsets with code similar to the following (see blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-list/37805)
cgi = CGI.new("html4") class << cgi undef_method :fieldset end
Please login to continue.