- ベストアンサー
Rubyで一行チャットを作っておるのですが、どうしてもリロードする毎にnilが画面に出てしまいます。どうすれば、消えるのか教えてもらいませんか?
- Rubyで一行チャットを作成していますが、リロードするたびにnilが表示されてしまいます。この問題を解決する方法を教えてください。
- リロードするたびにnilが画面に表示されるRubyの一行チャットの問題を解決したいです。どうすれば解消できますか?
- 一行チャットのプログラムをRubyで作っていますが、リロードする度にnilが表示されてしまいます。nilが表示されないようにする方法を教えてください。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
症状直すだけであれば、CGIライブラリをcgi-libからcgiに変えてみてください マニュアル探されるとわかるとおもうのですが、cgi-libはobsoluteです。 (1.9.2で確認したら無くなってました。) <おまけ> 少し書き換えて、Ruby1.8.7で動いたものを載せておきます。 自分もRubyでcgiいじるの初めてなので、これが推奨というわけではありません。 #!/usr/bin/ruby -w -Ku # -*- coding: utf-8 -*- # require 'cgi' print <<EOD Content-type: text/html; charset=utf-8 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head <meta content='text/html; charset=utf-8' http-equiv='Content-Type' /> </head> <body> <h4>チャットだお(´・ω・`)</h4> <form method="POST"> nameフォーム<input type="text" name="name" size="20"><br> 本文フォーム<input type="text" name="message" size="80"> <input type="submit" value="送信"> </form> EOD LOG_PATH = 'data.log' input = CGI.new.params open LOG_PATH, 'a' do |f| f << input['name'] f << "> #{input['message']}<br>" end print <<EOD #{File.read(LOG_PATH)} </body> </html> EOD
お礼
回答ありがとうございます。 おかげさまで、チャットが動くようになりました。