LINUX.ORG.RU

Ruby, CGI


0

0

Делаю всё по инструкции:

require "cgi"

req=CGI.new

Далее:

print req.keys выдаёт "param1 param2 param3", названия из хтмльной формы. ОК.

print req.has_key?("param1").to_s выдаёт "true". Замечательно.

print req["param1"], равно как и print req.params("param1") или любые комбинации с ".to_s" выдаёт "#" и ничего более. Что я не так делаю?


Из твоего поста не ясно что ты делаешь не так. Поскольку:

irb(main):001:0> require 'cgi'; cgi = CGI.new
(offline mode: enter name=value pairs on standard input)
test=hello
^Z
=> #<CGI:0x3b61338 @output_cookies=nil, @params={"test"=>["hello"]}, @cookies={}
, @multipart=false, @output_hidden=nil>
irb(main):002:0> print cgi["test"]
hello=> nil

Кстати, учти, что:

irb(main):004:0> cgi["test"].class
=> String
irb(main):005:0> cgi.params["test"].class
=> Array

smh ★★★
()
Ответ на: комментарий от smh

В общем, нужное значение оттуда вытаскивается только через req["param"].read. Зачем тогда вообще эта конструкция вида запрос["поле"] нужна?

tx
() автор топика
Ответ на: комментарий от tx

> В общем, нужное значение оттуда вытаскивается только через req["param"].read

А какая версия Руби у тебя?

smh ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.