CGIライブラリ
はじめに
RubyでCGIを作る方法、主にCGIクラスに関するものです。
オブジェクト指向言語Ruby
>リファレンスマニュアル
>添付ライブラリ
>CGI
を参考にCGIクラスを使ってCGIを作ってみましょう。
基本的な使い方
CGIクラスを使った基本的なHTMLの出力は以下のようになります。
require 'cgi'
cgi = CGI.new()
html = "<html><body>test</body></html>"
cgi.out do
html
end
CGIクラスにはHTML作成用のメソッド類も用意されていますが、 出力用のHTMLの作成は次ページ(HTMLテンプレート)に任せることにします。
フォームデータの受信
Formから送られてくるのデータはcgi['name']で受け取れます。
返り値は配列になっているので、nameに対応するフィールドが一個しかない場合は、cgi['name'].firstで参照します。
以下のフォームでデータの受け取り方を試してみて下さい。
テストフォーム
p cgi['checkbox'] ⇒ []
p cgi['radio'].first ⇒ nil
p cgi['select'].first ⇒ nil
また、cgi.paramsで、入力データをHashで受け取れます。
この受け取ったデータを「判断」、「処理」、「加工」することによってHTMLを作ります。
クッキーを扱う
クッキーを受け取るのは以下のようにします。
value = cgi.cookies[key].first
クッキーのを書き込むのは
cookies = [ CGI::Cookie::new({"name" => key, "value" => value, 'expires' => expires}) ]
cgi.out("cookie" => cookies) do
html
end
スポンサード リンク
トラックバック
- トラックバックURL
- https://linux-life.net/tb/program/ruby/cgidoc/cgi/