[#45988] 質問:IO#set_encoding 後の IO#gets について — Dice <rubyist@...>
Diceです。
4 messages
2009/05/02
[#46005] [ANN] locale-2.0.3, locale_rails-2.0.3, gettext-2.0.3, gettext_activerecord-2.0.3, gettext_rails-2.0.3 — Masao Mutoh <mutomasa@...>
むとうです。
3 messages
2009/05/09
[#46014] 複数バージョンのRubyに対応するRSS::Makerの使い方 — Kazuhiro NISHIYAMA <zn@...>
西山和広です。
4 messages
2009/05/13
[#46033] cgi をするときのデバック方法について — Nobuyuki Inaba <nobuyuki.inaba@...>
稲葉と申します。
15 messages
2009/05/22
[#46034] Re: cgi をするときのデバック方法について
— rubikitch@...
2009/05/23
From: Nobuyuki Inaba <nobuyuki.inaba@gmail.com>
[#46040] RoR on Linux で MS-SQL にアクセスしたい
— しん <dezawa@...>
2009/05/28
出沢@神奈川です
[ruby-list:46034] Re: cgi をするときのデバック方法について
From:
rubikitch@...
Date:
2009-05-23 03:42:41 UTC
List:
ruby-list #46034
From: Nobuyuki Inaba <nobuyuki.inaba@gmail.com>
Subject: [ruby-list:46033] cgi をするときのデバック方法について
Date: Sat, 23 May 2009 07:42:14 +0900
るびきちです。
> それで、デバッグ等で、「irb」がとても役に立って助かっています。
> <input type=hidden name=pass value=”test">
> などと言う場合
> コンソールから、
> pass=test
> ^d
> などと入れて本当に助かっていますが、
この機能は知っているけど、毎回入力するのが面倒で使っていません。
CGI#debug_paramsなんてのを定義してしまえば、それを呼んだ時点でのCGIパラメータがわかります。
Fileを渡したらCGIパラメータにStringIOが渡るので、StringIO#inspectも再定義しておきます。
====
#!/usr/local/bin/ruby
require 'cgi'
require 'enumerator'
require 'stringio'
class StringIO # Fileを渡したとき用
def inspect
%Q!#<StringIO: #{string.inspect}>!
end
end
class CGI
def debug_params
# すべてのパラメータを表示して
out("type"=>"text/plain") do
params.enum_for(:each_pair).map {|k,v| "#{k}=#{v.inspect}\n" }.join
end
exit # 強制終了
end
end
cgi = CGI.new
cgi.debug_params
cgi.out("type"=>"text/plain") {
"hoge=#{cgi['hoge'].inspect}"
}
====
http://127.0.0.1:9998/test.cgi?hoge=1&boke=22&boke=33
というふうにこのCGIを起動すれば、
hoge=["1"]
boke=["22", "33"]
と表示されます。
--
rubikitch
Blog: http://d.hatena.ne.jp/rubikitch/
Site: http://www.rubyist.net/~rubikitch/