Ruby-CGI-Methoden

Das Folgende ist eine Liste der Methoden der CGI-Klasse:

Nein.Methodenbeschreibung
1CGI::new([ level="query"])
Erstellt ein CGI-Objekt. query kann die folgenden Werte annehmen:
  • query:Keine HTML-Generierungsausgabe

  • html3: HTML3.2

  • html4: HTML4.0 Strict

  • html4Tr: HTML4.0 Transitional

  • html4Fr: HTML4.0 Frameset

2CGI::escape( str)
Verwendet URL-Kodierung, um die Zeichenkette zu escapen.
3CGI::unescape( str)
Dekodiert eine mit escape() kodierte Zeichenkette.
4CGI::escapeHTML( str)
HTML-Sonderzeichen codieren, einschließlich: & < >.
5CGI::unescapeHTML( str)
HTML-Sonderzeichen dekodieren, einschließlich: & < >.
6CGI::escapeElement( str[, element...])
HTML-Sonderzeichen innerhalb des angegebenen HTML-Elements codieren.
7CGI::unescapeElement( str, element[, element...])
HTML-Sonderzeichen innerhalb des angegebenen HTML-Elements dekodieren.
8CGI::parse( query)
Den Query-String parsen und einen Hash mit Schlüssel=>Wert-Paaren zurückgeben.
9CGI::pretty( string[, leader=" "])
Gibt ordentlich formatiertes HTML zurück. Wenn angegeben, wirdleaderan den Anfang jeder Zeile geschrieben.leaderDer Standardwert ist zwei Leerzeichen.
10CGI::rfc1123_date( time)
Formatiert time gemäß RFC-1123 (z. B. Di, 2 Jun 2008 00:00:00 GMT).

CGI-Instanzmethoden

Im folgenden Beispiel weisen wir das Objekt CGI::new der Variablen c zu. Die Methodenliste lautet wie folgt:

Nein.Methodenbeschreibung
1c[ name]
Gibt ein Array zurück, das den entsprechenden Feldnamen enthältnamevalue.
2c.checkbox( name[, value[, check=false]])
c.checkbox( options)

Gibt eine HTML-Zeichenfolge zum Definieren eines Checkbox-Felds zurück. Tag-Attribute können als Hash-Argument übergeben werden.
3c.checkbox_group( name, value...)
c.checkbox_group( options)

> Gibt eine HTML-Zeichenfolge zum Definieren einer Checkbox-Gruppe zurück. Tag-Attribute können als Hash-Argument übergeben werden.
4c.file_field( name[, size=20[, max]])
c.file_field( options)

Gibt eine HTML-Zeichenkette zum Definieren eines Dateifelds zurück.
5c.form([ method="post"[, url]]) { ...}
c.form( options)

Gibt eine HTML-Zeichenkette zum Definieren eines Formulars zurück. Wenn ein Codeblock angegeben wird, wird er als Formularinhalt ausgegeben. Tag-Attribute können als Hash-Argument übergeben werden.
6c.cookies
Gibt ein CGI::Cookie-Objekt zurück, das die Schlüssel-Wert-Paare aus dem Cookie enthält.
7c.header([ header])
Gibt die CGI-Header-Informationen zurück. Wenn der Parameter header ein Hash ist, werden seine Schlüssel-Wert-Paare verwendet, um die Header-Informationen zu erstellen.
8c.hidden( name[, value])
c.hidden( options)

Gibt einen HTML-String zum Definieren eines versteckten Feldes zurück. Tag-Attribute können als Hash-Argument übergeben werden.
9c.image_button( url[, name[, alt]])
c.image_button( options)

Gibt einen HTML-String zum Definieren eines Bild-Buttons zurück. Tag-Attribute können als Hash-Argument übergeben werden.
10c.keys
Gibt ein Array zurück, das die Feldnamen des Formulars enthält.
11c.key?( name)
c.has_key?( name)
c.include?( name)

Gibt true zurück, wenn das Formular den angegebenen Feldnamen enthält.
12c.multipart_form([ url[, encode]]) { ...}
c.multipart_form( options) { ...}

Gibt einen HTML-String zum Definieren eines Multipart-Formulars zurück. Tag-Attribute können als Hash-Argument übergeben werden.
13c.out([ header]) { ...}
Erzeugt HTML und gibt es aus. Verwenden Sie die Ausgabe des Blocks, um den für den Seitenkörper generierten String zu erstellen.
14c.params
Gibt einen Hash zurück, der Formularfeldnamen und -werte enthält.
15c.params= hash
Legt den zu verwendenden Feldnamen und Wert fest.
16c.password_field( name[, value[, size=40[, max]]])
c.password_field( options)

Gibt einen HTML-String zum Definieren eines Passwortfelds zurück. Tag-Attribute können als Hash-Argument übergeben werden.
17c.popup_menu( name, value...)
c.popup_menu( options)
c.scrolling_list( name, value...)
c.scrolling_list( options)

Gibt einen HTML-String zum Definieren eines Pop-up-Menüs zurück. Tag-Attribute können als Hash-Argument übergeben werden.
18c.radio_button( name[, value[, checked=false]])
c.radio_button( options)

Gibt einen HTML-String zum Definieren eines Radio-Felds zurück. Tag-Attribute können als Hash-Argument übergeben werden.
19c.radio_group( name, value...)
c.radio_group( options)

Gibt einen HTML-String zum Definieren einer Radio-Button-Gruppe zurück. Tag-Attribute können als Hash-Argument übergeben werden.
20c.reset( name[, value])
c.reset( options)

Gibt einen HTML-String zum Definieren eines Reset-Buttons zurück. Tag-Attribute können als Hash-Argument übergeben werden.
21c.text_field( name[, value[, size=40[, max]]])
c.text_field( options)

Gibt eine HTML-Zeichenkette zum Definieren eines Textfelds zurück. Tag-Attribute können als Hash-Argument übergeben werden.
22c.textarea( name[, cols=70[, rows=10]]) { ...}
c.textarea( options) { ...}

Gibt eine HTML-Zeichenkette zum Definieren eines Textarea-Felds zurück. Wenn ein Block angegeben wird, wird die vom Block ausgegebene Zeichenkette als Inhalt des Textarea verwendet. Tag-Attribute können als Hash-Argument übergeben werden.

Methoden zur HTML-Generierung

Sie können die entsprechenden HTML-Tag-Namen in einer CGI-Instanz verwenden, um HTML-Tags zu erstellen, wie im folgenden Beispiel gezeigt:

Beispiel

#!/usr/bin/ruby require "cgi" cgi = CGI.new("html4") cgi.out{ cgi.html{ cgi.head{ "\n"+cgi.title{"Dies ist ein Test"} } + cgi.body{ "\n"+ cgi.form{"\n"+ cgi.hr + cgi.h1 { "Ein Formular: " } + "\n"+ cgi.textarea("get_text") +"\n"+ cgi.br + cgi.submit } } } }

CGI-Objektattribute

Sie können die folgenden Attribute in einer CGI-Instanz verwenden:

AttributeRückgabewert
acceptZulässige MIME-Typen
accept_charsetZulässige Zeichensätze
accept_encodingZulässige Kodierungen
accept_languageZulässige Sprachen
auth_typeAkzeptable Typen
raw_cookieCookie-Daten (Roh-String)
content_lengthInhaltslänge
content_typeInhaltstyp
FromE-Mail-Adresse des Clients
gateway_interfaceCGI-Version
path_infoPfad
path_translatedÜbersetzter Pfad
Query_stringQuery-String
refererZuvor besuchte URL
remote_addrClient-Host-Adresse (IP)
remote_hostClient-Hostname
remote_identClient-Name
remote_userAuthentifizierter Benutzer
request_methodAnfragemethode (GET, POST, usw.)
script_nameParameternamen
server_nameServername
server_portServer-Port
server_protocolServerprotokoll
server_softwareServersoftware
user_agentUser-Agent
Weitere Erweiterungen