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

Métodos CGI en Ruby

Métodos CGI en Ruby

A continuación se muestra una lista de métodos de la clase CGI:

序号方法描述
1CGI::new([ level="query"])
Crea un objeto CGI. query puede ser uno de los siguientes valores:
  • query: No hay salida de HTML generada

  • html3: HTML3.2

  • html4:  HTML4.0 Strict

  • html4Tr: HTML4.0 Transitional

  • html4Fr:  HTML4.0 Frameset

2CGI::escape( str)
Usa la codificación URL para escapar la cadena.
3CGI::unescape( str)
Decodifica la cadena codificada por escape().
4CGI::escapeHTML( str)
Codifica los caracteres especiales de HTML, incluyendo: & < >.
5CGI::unescapeHTML( str)
Decodifica los caracteres especiales de HTML, incluyendo: & < >.
6CGI::escapeElement( str[, element...])
Codifica los caracteres especiales de HTML en el elemento HTML especificado.
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::new 的对象赋值给 c 变量,方法列表如下:

序号方法描述
1c[ name]
返回一个数组,包含了对应字段名为 name 的值。
2c.checkbox( name[, value[, check=false]])
c.checkbox( options)

返回 HTML 字符串用于定义 checkbox 字段。标签的属性可以以一个哈希函数作为参数传递。
3c.checkbox_group( name, value...)
c.checkbox_group( options)

>返回 HTML 字符串用于定义 checkbox 组。标签的属性可以以一个哈希函数作为参数传递。
4c.file_field( name[, size=20[, max]])
c.file_field( options)

返回定义 file 字段的HTML字符串。
5c.form([ method="post"[, url]]) { ...}
c.form( options)

返回定义 form 表单的HTML字符串。 如果指定了代码块,将作为表单内容输出。标签的属性可以以一个哈希函数作为参数传递。
6c.cookies
返回  CGI::Cookie  对象,包含了cookie 中的键值对。
7c.header([ header])
返回 CGI 头部的信息。如果 header 参数是哈希值,其键 - 值对,用于创建头部信息。
8c.hidden( name[, value])
c.hidden( options)

Devuelve una cadena de HTML para definir un campo oculto. Las propiedades de la etiqueta se pueden pasar como una función de hash.
9c.image_button( url[, nombre[, alt]])
c.image_button( opciones)

Devuelve una cadena de HTML para definir un botón de imagen. Las propiedades de la etiqueta se pueden pasar como una función de hash.
10c.keys
Devuelve un array que contiene los nombres de los campos del formulario.
11c.key?( nombre)
c.has_key?( nombre)
c.include?( nombre)

Si el formulario contiene el nombre de campo especificado, devuelve true.
12c.multipart_form([ url[, codificar]]) { ...}
c.multipart_form( opciones) { ...}

Devuelve una cadena de HTML para definir un formulario de tipo multimedia (multipart). Las propiedades de la etiqueta se pueden pasar como una función de hash.
13c.out([ encabezado]) { ...}
Genera HTML y salida. Usa la cadena generada por la salida del bloque para crear el cuerpo de la página.
14c.params
Devuelve un valor de hash que contiene los nombres y valores de los campos del formulario.
15c.params= hash
Establece el uso de nombre de campo y valor.
16c.password_field( nombre[, valor[, tamaño=)40[, máximo]]])
c.password_field( opciones)

Devuelve una cadena de HTML para definir un campo de contraseña. Las propiedades de la etiqueta se pueden pasar como una función de hash.
17c.popup_menu( nombre, valor...)
c.popup_menu( opciones)
c.scrolling_list( nombre, valor...)
c.scrolling_list( opciones)

Devuelve una cadena de HTML para definir un menú deslizante. Las propiedades de la etiqueta se pueden pasar como una función de hash.
18c.radio_button( nombre[, valor[, comprobado=false]])
c.radio_button( opciones)

Devuelve una cadena de HTML para definir un campo de radio. Las propiedades de la etiqueta se pueden pasar como una función de hash.
19c.radio_group( nombre, valor...)
c.radio_group( opciones)

Devuelve una cadena de HTML para definir un grupo de botones de radio. Las propiedades de la etiqueta se pueden pasar como una función de hash.
20c.reset( nombre[, valor])}}
c.reset( opciones)

devuelve una cadena HTML que define un botón de reinicio. Los atributos de la etiqueta pueden ser pasados como una función hash como parámetro.
21c.text_field( nombre[, valor[, tamaño=40[, máximo]]])
c.text_field( opciones)

devuelve una cadena HTML que define un campo texto. Los atributos de la etiqueta pueden ser pasados como una función hash como parámetro.
22c.textarea( nombre[, columnas=70[, filas=10]]) { ...}
c.textarea( options) { ...}

devuelve una cadena HTML que define un campo textarea. Si se especifica un bloque, la cadena de salida del bloque de código se utilizará como contenido del textarea. Los atributos de la etiqueta pueden ser pasados como una función hash como parámetro.

métodos de generación de HTML

Puedes usar los nombres de etiquetas HTML correspondientes en el ejemplo de CGI para crear etiquetas HTML, ejemplo a continuación:

ejemplo en línea

#!/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
         }
      }
   }
}

propiedades del objeto CGI

Puedes usar las siguientes propiedades en el ejemplo de CGI:

propiedadvalor de retorno
accepttipos MIME aceptados
accept_charsetconjuntos de caracteres aceptados
accept_encodingcodificaciones aceptadas
accept_languageidiomas aceptados
auth_typetipos aceptados
raw_cookiedatos de Cookie (cadena original)
content_lengthlongitud del contenido (Content length)
content_typetipo de contenido (Content type)
decliente e-dirección de correo
interface de gatewayVersión CGI
path_infoRuta
path_translatedRuta traducida
Query_stringCadena de consulta
refererURL de acceso anterior
remote_addrDirección de host del cliente (IP)
remote_hostNombre del host del cliente
remote_identNombre del cliente
remote_userUsuario autenticado
request_methodMétodo de solicitud (GET, POST, etc.)
script_nameNombre del parámetro
server_nameNombre del servidor
server_portPuerto del servidor
server_protocolProtocolo del servidor
server_softwareSoftware del servidor
user_agentAgente de usuario (User agent)