[Ruby:022]RubyでCGIを作ろう
Rubyで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をお送りしました。