PythonでCGI作ってみたのRuby版です。
Python版で「とっても稚拙で申し訳ない」といいつつ
稚拙なものを移植しただけで申し訳ないですが全く同じ挙動のものです。
下記を「HelloRuby.cgi」というファイル名で保存し
ウェブサーバー上にアップロード。
属性変更して実行権を与えてから・・・
※パーミッションを755にします。
webブラウザでアクセスします。
[ruby]
#!/usr/local/bin/ruby
#ヘッダ出力
print "Content-type: text/html\n\n"
#CGI 読み込み
require "cgi"
cgi = CGI.new
#リクエスト内容取得
yourName = cgi["yourName"]
#中身出力
print <<EOM
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
<script type="text/javascript">
var yourName = "#{yourName}";
function init() {
if (yourName != "") {
alert("YOUR NAME IS " + yourName);
}
}
</script>
</head>
<body onload="init()">
<form action="HelloRuby.cgi">
<input type="text" name="yourName" value="" />
<p>
<input type="submit" />
<p>
</form>
</body>
</html>
EOM
[/ruby]
コードはこれだけ
実行結果はこんな感じ
HelloRuby.cgi実行結果
コード的には
1.「yourName」っていうパラメータがリクエストに存在したら
2.Javascriptでアラート表示
3.送信フォーム表示
・・・・これだけです。
※この説明も「PythonでCGI作ってみた」とおんなじですみません。
Pythonもそうなんだけどリクエストの取扱い方がPerlより簡単でいいなぁ!
「参考になったサイト」
Rubyはじめました:RubyでCGI.フォームデータを受けとる
cgi – Rubyリファレンスマニュアル