CGIを生で使ってて、cgi.outを呼ばなかったばかりに延々と500 Internal Server Error で悩まされた件。
例により既出甚だしく、しかもRoR全盛のこの時期にこんな事する時代遅れの人間は居なかろうと思うが・・・。
#!.../ruby.exe require 'cgi' cgi = CGI.new puts "AAAA"
これで500 Internal Server Error。cgi使わずにベタでContent-Typeとか書き出していれば問題なし。
あっれ〜〜〜???おっかしいなあ〜〜〜と数日くらい(w はまってたのですが。
CGI、これ、CGI#out呼ばないとヘッダーが送出されない。つまり、厭でもCGI#out使わないとだめ。
#!.../ruby.exe require 'cgi' cgi = CGI.new cgi.out { "AAAAA" }
これでオッケー。outのブロックは結局、文字列として扱われているみたいなので、最終的に文字列として評価されるブロックにしておくみたい。