Ruby错误Webrick或CGI?

时间:2013-02-18 03:58:54

标签: ruby webrick

我使用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)

1 个答案:

答案 0 :(得分:5)

不,不是错误。这就是它的工作方式。

来自ruby-docs CGI documentation

  

如果CGI对象不是在标准CGI调用环境中创建的(也就是说,它无法在其环境中找到REQUEST_METHOD),那么它将以“离线”模式运行。在此模式下,它从命令行读取参数或从标准输入

中读取(失败)

在irb控制台中,在(offline mode: enter name=value pairs on standard input)消息之后,控制台正在等待您输入值。输入key value pairs,然后输入 Ctrl d 以完成输入数据。

 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

控制 d

 => #<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的更多代码示例,请参阅CGI Programming Documentation on PLEAC-Ruby