Ruby 1.9.2 リファレンスマニュアル > ライブラリ一覧 > cgiライブラリ > CGI::QueryExtensionモジュール
module CGI::QueryExtension
クラスの継承リスト: CGI::QueryExtension
Abstract
インスタンスメソッド
self[key]
-
文字列 key に対応するパラメータを配列で返します。 key に対応するパラメータが見つからなかった場合は、nil を返します。(CGI#paramsと等価です)
フォームから入力された値や、URL に埋め込まれた QUERY_STRING のパース結果の取得などに使用します。
((<ruby 1.8 feature>)): 挙動が 1.6 以前の cgi と大きく変化しています ((- この挙動は流動的で、1.8.0, 1.8.1, 1.8.2 の挙動はすべて異なります(1.9.0の挙動は1.8.2と同様です)。 -)) 。メソッドの返り値は配列でなく、文字列 ((- 1.8.1 までは、正確に言うと String ではありません。 -)) になり、それに伴って cgi[key][0] のような書き方は廃止されました。また key に対応するパラメータが存在しなかった場合、nil ではなく "" を返すようになっています。 ruby 1.6 と同じ挙動を望む場合は、CGI#paramsを利用してください。
この結果、インターフェースがどう変わったのかについては、以下の例を参考にしてください。
# with ruby 1.6 --------------------------- cgi = CGI.new cgi['developer'] # => ["Matz"] (Array) cgi['developer'][0] # => "Matz" (String) cgi[''] # => nil # with ruby 1.8 --------------------------- cgi = CGI.new cgi['developer'] # => "Matz" cgi['developer'][0] # => obsolete(警告が出ます) cgi[''] # => ""
cgi['developer'].is_a?(String) # => 1.8.1まではfalse、1.8.2以降はtrue
[[unknown:執筆者募集]]
accept
-
ENV['HTTP_ACCEPT']
accept_charset
-
ENV['HTTP_ACCEPT_CHARSET']
accept_encoding
-
ENV['HTTP_ACCEPT_ENCODING']
accept_language
-
ENV['HTTP_ACCEPT_LANGUAGE']
auth_type
-
ENV['AUTH_TYPE']
cache_control
-
ENV['HTTP_CACHE_CONTROL']
content_length
-
ENV['CONTENT_LENGTH']
content_type
-
ENV['CONTENT_TYPE']
cookies
cookies=(value)
from
-
ENV['HTTP_FROM']
gateway_interface
-
ENV['GATEWAY_INTERFACE']
has_key?(*args)
key?(*args)
include?(*args)
host
-
ENV['HTTP_HOST']
keys(*args)
multipart?
-
マルチパートフォームの場合にtrueが返ります。
例: cgi = CGI.new if cgi.multipart? field1=cgi['field1'].read else field1=cgi['field1'] end
negotiate
-
ENV['HTTP_NEGOTIATE']
params
-
パラメータを格納したハッシュを返します。
フォームから入力された値や、URLに埋め込まれた QUERY_STRING のパース結果の取得などに使用します。
cgi = CGI.new cgi.params['developer'] # => ["Matz"] (Array) cgi.params['developer'][0] # => "Matz" cgi.params[''] # => nil
params=(hash)
path_info
-
ENV['PATH_INFO']
path_translated
-
ENV['PATH_TRANSLATED']
pragma
-
ENV['HTTP_PRAGMA']
query_string
-
ENV['QUERY_STRING']
raw_cookie
-
ENV["HTTP_COOKIE"]
raw_cookie2
-
ENV["HTTP_COOKIE2"]
referer
-
ENV['HTTP_REFERER']
remote_addr
-
ENV['REMOTE_ADDR']
remote_host
-
ENV['REMOTE_HOST']
remote_ident
-
ENV['REMOTE_IDENT']
remote_user
-
ENV['REMOTE_USER']
request_method
-
ENV['REQUEST_METHOD']
script_name
-
ENV['SCRIPT_NAME']
server_name
-
ENV['SERVER_NAME']
server_port
-
ENV['SERVER_PORT']
server_protocol
-
ENV['SERVER_PROTOCOL']
server_software
-
ENV['SERVER_SOFTWARE']
user_agent
-
ENV['HTTP_USER_AGENT']