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​​-docs CGI 文档

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

在 irb 控制台中,在(offline mode: enter name=value pairs on standard input)消息之后,控制台正在等待您输入值。Enterkey 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 回答