Ruby CGIメソッド
以下はCGIクラスのメソッド一覧です:
| 番号 | メソッド説明 |
|---|---|
| 1 | CGI::new([ level="query"]) CGIオブジェクトを作成します。queryは以下の値を指定できます:
|
| 2 | CGI::escape( str) URLエンコーディングを使用して文字列をエスケープします |
| 3 | CGI::unescape( str) escape()でエンコードされた文字列をデコードします。 |
| 4 | CGI::escapeHTML( str) HTML特殊文字をエンコードします。これには & < > が含まれます。 |
| 5 | CGI::unescapeHTML( str) HTML特殊文字をデコードします。これには & < > が含まれます。 |
| 6 | CGI::escapeElement( str[, element...]) 指定されたHTML要素内でHTML特殊文字をエンコードします。 |
| 7 | CGI::unescapeElement( str, element[, element...]) 指定されたHTML要素内でHTML特殊文字をデコードします。 |
| 8 | CGI::parse( query) クエリ文字列を解析し、ハッシュのキー=>値ペアを返します。 |
| 9 | CGI::pretty( string[, leader=" "]) 整ったHTML形式を返します。指定された場合leader、各行の先頭に書き込まれます。leaderデフォルト値はスペース2つです。 |
| 10 | CGI::rfc1123_date( time) RFC-1123に従って時刻をフォーマットします(例:Tue, 2 Jun 2008 00:00:00 GMT)。 |
CGI インスタンスメソッド
次の例では、CGI::newのオブジェクトをc変数に代入します。メソッド一覧は以下の通りです:
| 番号 | メソッド説明 |
|---|---|
| 1 | c[ name] 対応するフィールド名のname値を含む配列を返します。 |
| 2 | c.checkbox( name[, value[, check=false]]) c.checkbox( options) チェックボックスフィールドを定義するHTML文字列を返します。タグの属性はハッシュとして渡すことができます。 |
| 3 | c.checkbox_group( name, value...) c.checkbox_group( options) >チェックボックスグループを定義するHTML文字列を返します。タグの属性はハッシュとして渡すことができます。 |
| 4 | c.file_field( name[, size=20[, max]]) c.file_field( options) fileフィールドを定義するHTML文字列を返します。 |
| 5 | c.form([ method="post"[, url]]) { ...} c.form( options) フォーム(form)を定義するHTML文字列を返します。コードブロックが指定された場合は、フォームの内容として出力されます。タグの属性はハッシュとして渡すことができます。 |
| 6 | c.cookies CGI::Cookie オブジェクトを返します。cookie内のキーと値のペアが含まれます。 |
| 7 | c.header([ header]) CGIヘッダー情報を返します。headerパラメータがハッシュ値の場合、そのキーと値のペアを使用してヘッダー情報を作成します。 |
| 8 | c.hidden( name[, value]) c.hidden( options) 隠しフィールドを定義するHTML文字列を返します。タグの属性はハッシュとして渡すことができます。 |
| 9 | c.image_button( url[, name[, alt]]) c.image_button( options) 画像ボタンを定義するHTML文字列を返します。タグの属性はハッシュとして渡すことができます。 |
| 10 | c.keys フォームのフィールド名を含む配列を返します。 |
| 11 | c.key?( name) c.has_key?( name) c.include?( name) フォームに指定されたフィールド名が含まれている場合は true を返します。 |
| 12 | c.multipart_form([ url[, encode]]) { ...} c.multipart_form( options) { ...} multipartフォームを定義するHTML文字列を返します。タグの属性はハッシュとして渡すことができます。 |
| 13 | c.out([ header]) { ...} HTMLを生成して出力します。ブロックの出力によって生成された文字列を使用して、ページの本文を作成します。 |
| 14 | c.params フォームのフィールド名と値を含むハッシュを返します。 |
| 15 | c.params= hash フィールド名と値を設定します。 |
| 16 | c.password_field( name[, value[, size=40[, max]]]) c.password_field( options) passwordフィールドを定義するHTML文字列を返します。タグの属性はハッシュとして渡すことができます。 |
| 17 | c.popup_menu( name, value...) c.popup_menu( options) c.scrolling_list( name, value...) c.scrolling_list( options) ポップアップメニューを定義するHTML文字列を返します。タグの属性はハッシュとして渡すことができます。 |
| 18 | c.radio_button( name[, value[, checked=false]]) c.radio_button( options) radioフィールドを定義するHTML文字列を返します。タグの属性はハッシュとして渡すことができます。 |
| 19 | c.radio_group( name, value...) c.radio_group( options) radioボタングループを定義するHTML文字列を返します。タグの属性はハッシュとして渡すことができます。 |
| 20 | c.reset( name[, value]) c.reset( options) resetボタンを定義するHTML文字列を返します。タグの属性はハッシュとして渡すことができます。 |
| 21 | c.text_field( name[, value[, size=40[, max]]]) c.text_field( options) textフィールドを定義するHTML文字列を返します。タグの属性はハッシュとして渡すことができます。 |
| 22 | c.textarea( name[, cols=70[, rows=10]]) { ...} c.textarea( options) { ...} textareaフィールドを定義するHTML文字列を返します。ブロックが指定された場合、コードブロックが出力する文字列が textarea の内容になります。タグの属性はハッシュとして渡すことができます。 |
HTML生成メソッド
CGIインスタンス内で対応するHTMLタグ名を使用してHTMLタグを作成できます。例は以下の通りです:
例
#!/usr/bin/ruby
require "cgi"
cgi = CGI.new("html4")
cgi.out{
cgi.html{
cgi.head{ "\n"+cgi.title{"This Is a Test"} } +
cgi.body{ "\n"+
cgi.form{"\n"+
cgi.hr +
cgi.h1 { "A Form: " } + "\n"+
cgi.textarea("get_text") +"\n"+
cgi.br +
cgi.submit
}
}
}
}
CGI オブジェクト属性
CGIインスタンス内で以下の属性を使用できます:
| 属性 | 戻り値 |
|---|---|
| accept | 受け入れ可能なMIMEタイプ |
| accept_charset | 受け入れ可能な文字セット |
| accept_encoding | 受け入れ可能なエンコーディング |
| accept_language | 受け入れ可能な言語 |
| auth_type | 受け入れ可能なタイプ |
| raw_cookie | Cookieデータ(元の文字列) |
| content_length | コンテンツ長(Content length) |
| content_type | コンテンツタイプ(Content type) |
| From | クライアントのe-mailアドレス |
| gateway_interface | CGIバージョン |
| path_info | パス |
| path_translated | 変換後のパス |
| Query_string | クエリ文字列 |
| referer | 以前にアクセスしたURL |
| remote_addr | クライアントのホストアドレス(IP) |
| remote_host | クライアントのホスト名 |
| remote_ident | クライアント名 |
| remote_user | 認証済みユーザー |
| request_method | リクエストメソッド(GET, POST など) |
| script_name | パラメータ名 |
| server_name | サーバー名 |
| server_port | サーバーポート |
| server_protocol | サーバープロトコル |
| server_software | サーバーソフトウェア |
| user_agent | ユーザーエージェント(User agent) |