2

Webrick+を使用していCGIますが、インスタンス化するとエラーが返されます。(offline mode: enter name=value pairs on standard input)

irb(main):001:0> require 'cgi'
=> true
irb(main):002:0> cgi = CGI.new
(offline mode: enter name=value pairs on standard input)
4

1 に答える 1

5

いいえ、エラーではありません。それが機能する方法です。

ruby-docsCGIドキュメントから

CGIオブジェクトが標準のCGI呼び出し環境で作成されていない場合(つまり、その環境でREQUEST_METHODを見つけることができない場合)、CGIオブジェクトは「オフライン」モードで実行されます。このモードでは、コマンドラインから、または(失敗した場合は)標準入力からパラメーターを読み取ります。

irbコンソールでは、(offline mode: enter name=value pairs on standard input)メッセージの後、コンソールは値の入力を待機しています。入力key value pairsしてCtrldからデータの入力を終了します。

 irb(main):001:0> require 'cgi'
 => true
 irb(main):002:0> cgi = CGI.new
 (offline mode: enter name=value pairs on standard input)
 name=Prakash
 number=432

Ctrld

 => #<CGI:0x007fa4eb2abd30 @options={:accept_charset=>"UTF-8"}, @accept_charset="UTF-8", @multipart=false, @params={"name"=>["Prakash"], "number"=>["432"]}, @cookies={}, @output_cookies=nil, @output_hidden=nil> 
irb(main):003:0>

rubyでCGIを操作するコード例の詳細については、PLEAC-RubyのCGIプログラミングドキュメントを参照してください。

于 2013-02-18T04:29:11.390 に答える