Latest web development tutorials

RubyのCGI方法

以下は、メソッドのCGIクラスのリストです。

いいえ。 メソッド説明
1 CGI ::新しい([レベル= "クエリ"])
CGIオブジェクトを作成します。 クエリは、次の値を指定できます。
  • 問合せ:いいえHTML出力生成

  • HTML3:HTML3.2

  • HTML4:HTML4.0厳格

  • html4Tr:HTML4.0移行

  • html4Fr:HTML4.0のフレームセット

2 CGI ::エスケープ(文字列)
URLエンコードされた文字列エスケープします
3 CGI ::アンエスケープ(文字列)
エスケープを通じて()エンコードされた文字列をデコードします。
4 CGI :: escapeHTML(文字列)
含め、HTML特殊文字をコーディング:&<>。
5 CGI :: unescapeHTML(文字列)
&<>:を含む、特殊なHTML文字をデコードします。
6 CGI :: escapeElement(文字列[、要素 ...])
指定されたHTML要素のHTML特殊文字をコーディング。
7 CGI :: unescapeElement(文字列、要素[ 、要素...])
指定されたHTML要素における特殊なHTML文字をデコードします。
8 CGI ::パース(クエリ)
クエリ文字列を解析し、キー= "値のペアを含むハッシュを返します。
9 CGI ::かわいい(文字列[、リーダー = ""])
戻るきちんとしたHTML形式。 あなたがリーダーを指定する場合は、各行の先頭に書き込まれます。リーダーのデフォルトは二つのスペースです。
10 CGI :: rfc1123_date(時間)
RFC-1123形式の時間に応じて(例えば、火、2008年6月2日00:00:00 GMT)。

CGIのインスタンスメソッド

次の例は、CGIます::変数cに割り当てられた新しいオブジェクト、以下に記載の方法を:

いいえ。 メソッド説明
1 C [名前]
これは、nameという名前、対応するフィールドの値を含む配列を返します
2 c.checkbox(名[、値[、 ] = falseを確認してください])
c.checkbox(オプション)
チェックボックスフィールドを定義するHTML文字列を返します。 ラベルのプロパティは、パラメータとして渡されたハッシュ関数であってもよいです。
3 c.checkbox_group(名前、値...)
c.checkbox_group(オプション)
>チェックボックスグループを定義するために使用されるHTML文字列を返します。 ラベルのプロパティは、パラメータとして渡されたハッシュ関数であってもよいです。
4 c.file_field(名[、サイズ= 20 [最大]])
c.file_field(オプション)
定義ファイルのフィールドのHTML文字列を返します。
5 c.form([メソッド= "ポスト" [、URL]]){...}
c.form(オプション)
戻るフォームフォームのHTML文字列を定義しました。 ブロックを指定した場合、フォームの内容として出力されます。 ラベルのプロパティは、パラメータとして渡されたハッシュ関数であってもよいです。
6 c.cookies
ペアでクッキーを含む戻るCGI :: Cookieオブジェクト。
7 c.header([ヘッダ])
戻るCGIヘッダー情報。 ヘッダー引数がキーであるハッシュ値である場合、 - 値のペアは、ヘッダ情報を作成するために使用されます。
8 c.hidden(名[、値])
c.hidden(オプション)
隠しフィールドを定義するためのHTML文字列を返します。 ラベルのプロパティは、パラメータとして渡されたハッシュ関数であってもよいです。
9 c.image_button(URL [、名[、 ALT]])
c.image_button(オプション)
戻るHTMLイメージボタンの文字列を定義します。 ラベルのプロパティは、パラメータとして渡されたハッシュ関数であってもよいです。
10 c.keys
これは、フォームのフィールド名を含む配列を返します。
11 c.key?(名)
c.has_key?(名)
c.include?(名)
フォームが含まれている場合は指定したフィールド名はtrueを返します。
12 c.multipart_form([URL [、エンコード] ]){...}
c.multipart_form(オプション){...}
戻るマルチメディア形式(マルチパート)HTML文字列を定義します。 ラベルのプロパティは、パラメータとして渡されたハッシュ関数であってもよいです。
13 c.out([ヘッダ]){... }
そして、HTML出力を生成します。 ページを作成するために体内で使用される出力ブロックは、文字列を生成しました。
14 c.params
ハッシュは、フォームのフィールド名と値が含まれて返します。
15 c.params =ハッシュ
フィールド名と値を使用して設定します。
16 c.password_field(名[、値[、サイズ= 40 [、最大]]])
c.password_field(オプション)
戻るパスワードフィールドのHTML文字列を定義します。 ラベルのプロパティは、パラメータとして渡されたハッシュ関数であってもよいです。
17 c.popup_menu(名前、値...)
c.popup_menu(オプション)
c.scrolling_list(名前、値...)
c.scrolling_list(オプション)
HTML文字列を定義するためのポップアップメニューを返します。 ラベルのプロパティは、パラメータとして渡されたハッシュ関数であってもよいです。
18 c.radio_button(名[、値[、確認された=偽]])
c.radio_button(オプション)
HTML定義された電波の文字列を返します。 ラベルのプロパティは、パラメータとして渡されたハッシュ関数であってもよいです。
19 c.radio_group(名前、値...)
c.radio_group(オプション)
文字列定義のHTMLラジオボタングループを返します。 ラベルのプロパティは、パラメータとして渡されたハッシュ関数であってもよいです。
20 c.reset(名[、値])
c.reset(オプション)
HTML文字列を返すために、リセットボタンを定義します。 ラベルのプロパティは、引数としてハッシュ関数であってもよいです
21 c.text_field(名[、値[、サイズ= 40 [、最大]]])
c.text_field(オプション)
HTMLの文字列フィールド定義されたテキストを返します。 ラベルのプロパティは、パラメータとして渡されたハッシュ関数であってもよいです。
22 c.textarea(名[、colsの= 70 [行= 10]]){...}
c.textarea(オプション){...}
文字列の定義されたHTMLテキストエリアのフィールドを返します。 あなたは、ブロック、テキストエリアの内容として符号列出力のブロックを指定した場合。 ラベルのプロパティは、パラメータとして渡されたハッシュ関数であってもよいです。

HTMLの生成

次のように、その後、HTMLタグを作成するために適切なCGIの例の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インスタンスを使用することができます。

プロパティ 戻り値
受け入れます 許容可能なMIMEタイプ
accept_charset 許容可能な文字セット
accept_encoding 許容可能なコーディング
accept_language 許容可能な言語
AUTH_TYPE 許容可能なタイプ
raw_cookie クッキーデータ(元の文字列)
CONTENT_LENGTH コンテンツ長(コンテンツの長さ)
CONTENT_TYPE コンテンツタイプ(コンテンツタイプ)
から クライアントの電子メールアドレス
GATEWAY_INTERFACE CGI版
PATH_INFO パス
PATH_TRANSLATED コンバージョンパスした後、
QUERY_STRING クエリ文字列
リファラ 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の ユーザーエージェント(ユーザーエージェント)