English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Ruby базовый курс

Ruby продвинутый курс

Методы CGI в Ruby

Методы CGI в Ruby

Ниже приведен список методов класса CGI:

НомерОписание метода
1CGI::new([ level="query"])
Создает объект CGI. query может быть следующим:
  • query: Не генерирует HTML-выход.

  • html3: HTML3.2

  • html4:  HTML4.0 Strict

  • html4Tr: HTML4.0 Transitional

  • html4Fr:  HTML4.0 Frameset

2CGI::escape( str)
Использует URL-кодирование для перевода строки.
3CGI::unescape( str)
Декодирует строку, закодированную с помощью escape().
4CGI::escapeHTML( str)
Кодирует HTML-специальные символы, включая: & < >.
5CGI::unescapeHTML( str)
Декодирует HTML-специальные символы, включая: & < >.
6CGI::escapeElement( str[, element...])
Кодирует HTML-специальные символы в указанном HTML-элементе.
7CGI::unescapeElement( str, element[, element...])
Декодирует HTML-специальные символы в указанном HTML-элементе.
8CGI::parse( query)
Анализирует строку запроса и возвращает объект с ключами и значениями, содержащими хэш.
9CGI::pretty( string[, leader=" "])
Возврат отформатированного HTML. Если указан leader ,он будет записан в начале каждой строки. leader Значение по умолчанию - два пробела.
10CGI::rfc1123_date( time)
Форматирование времени по RFC-1123 (например, Tue, 2 Jun 2008 00:00:00 GMT).

Методы демонстрации CGI

В следующем примере объект CGI::newassignается переменной c, список методов如下:

НомерОписание метода
1c[ name]
Возврат массива, содержащего значения для поля с именем name Значение.
2c.checkbox( name[, value[, check=false]])
c.checkbox( options)

Возврат HTML-строки для определения поля флажка. Атрибуты тега могут передаваться в виде функции хеширования.
3c.checkbox_group( name, value...)
c.checkbox_group( options)

>Возврат HTML-строки для определения группы флажков. Атрибуты тега могут передаваться в виде функции хеширования.
4c.file_field( name[, size=20[, max]])
c.file_field( options)

Возврат HTML-строки для определения поля файла.
5c.form([ method="post"[, url]]) { ...}
c.form( options)

Возврат HTML-строки для определения формы. Если указан блок кода, он выводится в качестве содержимого формы. Атрибуты тега могут передаваться в виде функции хеширования.
6c.cookies
Возврат объекта CGI::Cookie, содержащего пары ключ-значение из cookie.
7c.header([ header])
Возврат информации заголовка CGI. Если параметр header является хешем, его ключ-значение используется для создания заголовка.
8c.hidden( name[, value])
c.hidden( options)

Возврат HTML-строки для определения скрытого поля. Атрибуты тега могут передаваться в виде функции хеширования.
9c.image_button( url[, name[, alt]])
c.image_button( options)

Возврат HTML-строки для изображения кнопки. Атрибуты тега могут передаваться в виде хеш-функции.
10c.keys
Возвращает массив, содержащий имена полей формы.
11c.key?( name)
c.has_key?( name)
c.include?( name)

Возвращает true, если форма содержит указанное имя поля.
12c.multipart_form([ url[, encode]]) { ...}
c.multipart_form( options) { ...}

Возврат HTML-строки для формы multipart. Атрибуты тега могут передаваться в виде хеш-функции.
13c.out([ header]) { ...}
Создайте HTML и выведите. Используйте строку, созданную выводом блока, чтобы сформировать основное содержимое страницы.
14c.params
Возврат хеш-значения, содержащего имена и значения полей формы.
15c.params= hash
Установите использование поля с именем и значением.
16c.password_field( name[, value[, size=40[, max]]])
c.password_field( options)

Возврат HTML-строки для поля пароля. Атрибуты тега могут передаваться в виде хеш-функции.
17c.popup_menu( name, value...)
c.popup_menu( options)
c.scrolling_list( name, value...)
c.scrolling_list( options)

Возврат HTML-строки для выпадающего списка. Атрибуты тега могут передаваться в виде хеш-функции.
18c.radio_button( name[, value[, checked=false]])
c.radio_button( options)

Возврат HTML-строки для поля радио. Атрибуты тега могут передаваться в виде хеш-функции.
19c.radio_group( name, value...)
c.radio_group( options)

Возврат HTML-строки для группы радио-кнопок. Атрибуты тега могут передаваться в виде хеш-функции.
20c.reset( name[, value])
c.reset( options)

Возврат HTML-строки для определенного поля reset. Атрибуты тега могут передаваться в виде хеш-функции
21c.text_field( name[, value[, size=40[, max]]])
c.text_field( options)

Возврат HTML-строки для определенного поля text. Атрибуты тега могут передаваться в виде хеш-функции.
22c.textarea( name[, cols=70[, rows=10]]) { ...}
c.textarea( options) { ...}

Возврат HTML-строки для определенного поля textarea. Если указан блок, строка, выводимая блоком, будет содержимым textarea. Атрибуты тега могут передаваться в виде хеш-функции.

Методы генерации HTML

Вы можете использовать соответствующие HTML-теги в примерах CGI для создания HTML-тегов, например:

Онлайн пример

#!/usr/bin/ruby
 
require "cgi"
cgi = CGI.new("html4")
cgi.out{
   cgi.html{
      cgi.head{ "\n"+cgi.title{"This Is a Test"} } +
      cgi.body{ "\n"+
         cgi.form{"\n"+
            cgi.hr +
            cgi.h1 { "A Form: " } + "\n"+
            cgi.textarea("get_text") +"\n"+
            cgi.br +
            cgi.submit
         }
      }
   }
}

Атрибуты объекта CGI

Вы можете использовать следующие атрибуты в примерах CGI:

АтрибутыВозвратное значение
acceptПринимаемые типы MIME
accept_charsetПринимаемые наборы символов
accept_encodingПринимаемые кодировки
accept_languageПринимаемые языки
auth_typeПринимаемые типы
raw_cookieДанные Cookie (в исходном формате)
content_lengthДлина содержимого (Content length)
content_typeТип содержимого (Content type)
ОтАдрес электронной почты клиента
интерфейс шлюзаВерсия CGI
path_infoПуть
path_translatedПреобразованный путь
Query_stringСтрока запроса
refererПредыдущий адрес посещения
remote_addrАдрес хоста клиента (IP)
remote_hostИмя хоста клиента
remote_identИмя клиента
remote_userАутентифицированный пользователь
request_methodМетод запроса (GET, POST и т.д.)
script_nameИмя параметра
server_nameИмя сервера
server_portПорт сервера
server_protocolПротокол сервера
server_softwareСофтウェア сервера
user_agentПользовательский агент (User agent)