Методы 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)
Разобрать строку запроса и вернуть хеш, содержащий пары key=>value.
9CGI::pretty( string[, leader=" "])
Возвращает аккуратно отформатированный HTML. Если указанleader, он будет записан в начало каждой строки.leaderЗначение по умолчанию — два пробела.
10CGI::rfc1123_date( time)
Форматирует время в соответствии с RFC-1123 (например, Tue, 2 Jun 2008 00:00:00 GMT).

Методы экземпляра CGI

В следующем примере мы присваиваем объект CGI::new переменной c. Список методов приведён ниже:

Нет.Описание метода
1c[ 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-строку для определения кнопки сброса. Атрибуты тега можно передать в виде хэш-аргумента.
21c.text_field( name[, value[, size=40[, max]]])
c.text_field( options)

Возвращает HTML-строку для определения текстового поля. Атрибуты тега можно передать в виде хэш-аргумента.
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{"Это тест"} } + cgi.body{ "\n"+ cgi.form{"\n"+ cgi.hr + cgi.h1 { "Форма: " } + "\n"+ cgi.textarea("get_text") +"\n"+ cgi.br + cgi.submit } } } }

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

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

AttributeВозвращаемое значение
acceptДопустимые MIME-типы
accept_charsetДопустимые наборы символов
accept_encodingДопустимые кодировки
accept_languageДопустимые языки
auth_typeДопустимые типы
raw_cookieДанные cookie (необработанная строка)
content_lengthДлина содержимого
content_typeТип содержимого
FromАдрес электронной почты клиента
gateway_interfaceВерсия CGI
path_infoПуть
path_translatedПреобразованный путь
Query_stringСтрока запроса
refererРанее посещённый URL
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Агент пользователя
Другие расширения