猫とプログラミング

HateB Total Count
|oredoco.net|オレオレ回答|日刊オレ小町|週刊オレ小町|猫とプログラミング|猫とメンタルヘルス|おれワード|おれブクマ|

2008 年 9 月 6 日

[Ruby:022]RubyでCGIを作ろう

カテゴリー: Ruby — oredoco @ 4:15 PM

RubyでCGIを作ろう

sample022_1.cgi

#!/usr/local/bin/ruby
#------------------------
# sample022_1.cgi
#-------------------------
print "Content-type: text/html\n\n"
print "<html><body>Hello World</body></html>"

実行してみましょう。無事、Hello Worldが表示されましたか?
されない場合、FTPの転送モード、テキストの改行コードがUNIX(LF)になってるか、実行権限が与えられてるか等が考えられますよ。

RubyCGIでSqlite3を使おう&エラー処理

僕の場合、テキストファイルを扱うよりデーターベースを扱うほうが簡単に思えるので、Sqlite3が動作するかの確認もまでてサンプルプログラムを作り、動作確認しました。xreaで動作確認しました。sqlite3がはじめから入ってるようなので特に何もする必要はありません。 [Ruby:010]DB(sqlite3)を使おうで作成した、test.dbを用います。FTPで転送するときはバイナリーで送信してくださいね。以下のCGIプログラムと同じ場所において実行してくださいね。
sample022_2.cgi

#!/usr/local/bin/ruby
#--------------------
#sample022_2.cgi
#--------------------
require 'sqlite3'

print "Content-type: text/html\n\n"
print "<html><body><ul>"
begin
	db = SQLite3::Database.new("test.db")
	#データをSELECT
	sql = "select id, name from tbl_test"
	db.execute(sql)  { |id, name|
    	 print "<li>#{id}     #{name} </li>\n"
	}
rescue
	print "例外が発生しました\n"
	print $@
end
print "</ul></body></html>"

実行結果

  • 1 oredoco
  • 2 neko

参考資料

今回は、Ruby on Rails をつかってません。2つめのサンプルプログラムのDBから読み込んで一覧表示するというようなCGIが、Ruby on Rails をつかうともっと簡単にできるはずなのですが・・・。それを目指して、今回は原点のRubydeCGIをお送りしました。



add to hatena hatena.comment (2) add to del.icio.us (0) add to livedoor.clip (0) add to Yahoo!Bookmark (0) Total: 2
TrackbackURL:

このコメント欄の RSS フィード TrackBack URI

コメントをどうぞ

Powered by WordPress