[ruby-list:37717] cgi.rb をローカルで実験

From: Beyond <beyond@...>
Date: 2003-05-22 19:13:48 UTC
List: ruby-list #37717
Beyondです。

Rubyリファレンスマニュアルには、以下のように書かれてあるのですが、実際に
は、new の前に
  ENV[ "REQUEST_METHOD" ] = "POST" 
を設定しないと期待の動作をしません。
CGI::initialize が、
   if "POST" != env_table['REQUEST_METHOD']
      initialize_query()  # set @params, @cookies
    else
      if defined?(CGI_PARAMS)
    以下略
のようになっているためですが、バグじゃないでしょうか?

--- Rubyリファレンスマニュアルより
CGI::CGI_PARAMSとCGI::CGI_COOKIESを設定してからCGI.newすると、あたかもフォー
ムから入力があったかのようにローカルで実験できる。ただし、両方とも設定し
なければいけない。

#!/usr/bin/ruby
require 'cgi'

class CGI
  CGI_PARAMS={'form'=>['value']}
  CGI_COOKIES= nil
end

cgi = CGI.new
puts cgi['form'].first # => "value"

---------------------
Beyond



In This Thread

Prev Next