Ruby-CGI-Methoden
Das Folgende ist eine Liste der Methoden der CGI-Klasse:
| Nein. | Methodenbeschreibung |
|---|---|
| 1 | CGI::new([ level="query"]) Erstellt ein CGI-Objekt. query kann die folgenden Werte annehmen:
|
| 2 | CGI::escape( str) Verwendet URL-Kodierung, um die Zeichenkette zu escapen. |
| 3 | CGI::unescape( str) Dekodiert eine mit escape() kodierte Zeichenkette. |
| 4 | CGI::escapeHTML( str) HTML-Sonderzeichen codieren, einschließlich: & < >. |
| 5 | CGI::unescapeHTML( str) HTML-Sonderzeichen dekodieren, einschließlich: & < >. |
| 6 | CGI::escapeElement( str[, element...]) HTML-Sonderzeichen innerhalb des angegebenen HTML-Elements codieren. |
| 7 | CGI::unescapeElement( str, element[, element...]) HTML-Sonderzeichen innerhalb des angegebenen HTML-Elements dekodieren. |
| 8 | CGI::parse( query) Den Query-String parsen und einen Hash mit Schlüssel=>Wert-Paaren zurückgeben. |
| 9 | CGI::pretty( string[, leader=" "]) Gibt ordentlich formatiertes HTML zurück. Wenn angegeben, wirdleaderan den Anfang jeder Zeile geschrieben.leaderDer Standardwert ist zwei Leerzeichen. |
| 10 | CGI::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 |
|---|---|
| 1 | c[ name] Gibt ein Array zurück, das den entsprechenden Feldnamen enthältnamevalue. |
| 2 | c.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. |
| 3 | c.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. |
| 4 | c.file_field( name[, size=20[, max]]) c.file_field( options) Gibt eine HTML-Zeichenkette zum Definieren eines Dateifelds zurück. |
| 5 | c.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. |
| 6 | c.cookies Gibt ein CGI::Cookie-Objekt zurück, das die Schlüssel-Wert-Paare aus dem Cookie enthält. |
| 7 | c.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. |
| 8 | c.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. |
| 9 | c.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. |
| 10 | c.keys Gibt ein Array zurück, das die Feldnamen des Formulars enthält. |
| 11 | c.key?( name) c.has_key?( name) c.include?( name) Gibt true zurück, wenn das Formular den angegebenen Feldnamen enthält. |
| 12 | c.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. |
| 13 | c.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. |
| 14 | c.params Gibt einen Hash zurück, der Formularfeldnamen und -werte enthält. |
| 15 | c.params= hash Legt den zu verwendenden Feldnamen und Wert fest. |
| 16 | c.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. |
| 17 | c.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. |
| 18 | c.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. |
| 19 | c.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. |
| 20 | c.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. |
| 21 | c.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. |
| 22 | c.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:
| Attribute | Rückgabewert |
|---|---|
| accept | Zulässige MIME-Typen |
| accept_charset | Zulässige Zeichensätze |
| accept_encoding | Zulässige Kodierungen |
| accept_language | Zulässige Sprachen |
| auth_type | Akzeptable Typen |
| raw_cookie | Cookie-Daten (Roh-String) |
| content_length | Inhaltslänge |
| content_type | Inhaltstyp |
| From | E-Mail-Adresse des Clients |
| gateway_interface | CGI-Version |
| path_info | Pfad |
| path_translated | Übersetzter Pfad |
| Query_string | Query-String |
| referer | Zuvor besuchte URL |
| remote_addr | Client-Host-Adresse (IP) |
| remote_host | Client-Hostname |
| remote_ident | Client-Name |
| remote_user | Authentifizierter Benutzer |
| request_method | Anfragemethode (GET, POST, usw.) |
| script_name | Parameternamen |
| server_name | Servername |
| server_port | Server-Port |
| server_protocol | Serverprotokoll |
| server_software | Serversoftware |
| user_agent | User-Agent |