Méthodes CGI en Ruby
Voici une liste des méthodes de la classe CGI :
| Non. | Description de la méthode |
|---|---|
| 1 | CGI::new([ level="query"]) Créez un objet CGI. query peut prendre les valeurs suivantes :
|
| 2 | CGI::escape( str) Utilisez l'encodage URL pour échapper la chaîne. |
| 3 | CGI::unescape( str) Décodez une chaîne encodée par escape(). |
| 4 | CGI::escapeHTML( str) Encode les caractères spéciaux HTML, y compris : & < >. |
| 5 | CGI::unescapeHTML( str) Décode les caractères spéciaux HTML, y compris : & < >. |
| 6 | CGI::escapeElement( str[, element...]) Encode les caractères spéciaux HTML dans l'élément HTML spécifié. |
| 7 | CGI::unescapeElement( str, element[, element...]) Décode les caractères spéciaux HTML dans l'élément HTML spécifié. |
| 8 | CGI::parse( query) Analyse la chaîne de requête et renvoie un hash contenant des paires clé=>valeur. |
| 9 | CGI::pretty( string[, leader=" "]) Renvoie du HTML soigneusement formaté. Sileaderest spécifié, il sera écrit au début de chaque ligne.leaderLa valeur par défaut est deux espaces. |
| 10 | CGI::rfc1123_date( time) Formate l’heure selon RFC-1123 (par exemple, Tue, 2 Jun 1998 00:00:00 GMT). |
Méthodes d’instance CGI
Dans l’exemple suivant, nous affectons l’objet CGI::new à la variable c. La liste des méthodes est la suivante :
| Non. | Description de la méthode |
|---|---|
| 1 | c[ name] Retourne un tableau contenant le nom du champ correspondantnamevalue. |
| 2 | c.checkbox( name[, value[, check=false]]) c.checkbox( options) Retourne une chaîne HTML pour définir un champ de case à cocher. Les attributs de balise peuvent être passés comme argument de hachage. |
| 3 | c.checkbox_group( name, value...) c.checkbox_group( options) > Retourne une chaîne HTML pour définir un groupe de cases à cocher. Les attributs de balise peuvent être passés comme argument de hachage. |
| 4 | c.file_field( name[, size=20[, max]]) c.file_field( options) Renvoie une chaîne HTML pour définir un champ de fichier. |
| 5 | c.form([ method="post"[, url]]) { ...} c.form( options) Renvoie une chaîne HTML pour définir un formulaire. Si un bloc de code est spécifié, il sera produit comme contenu du formulaire. Les attributs de balise peuvent être passés comme argument de hachage. |
| 6 | c.cookies Renvoie un objet CGI::Cookie contenant les paires clé-valeur du cookie. |
| 7 | c.header([ header]) Renvoie les informations d'en-tête CGI. Si le paramètre header est un hachage, ses paires clé-valeur sont utilisées pour créer les informations d'en-tête. |
| 8 | c.hidden( name[, value]) c.hidden( options) Renvoie une chaîne HTML pour définir un champ masqué. Les attributs de balise peuvent être passés comme argument de hachage. |
| 9 | c.image_button( url[, name[, alt]]) c.image_button( options) Renvoie une chaîne HTML pour définir un bouton image. Les attributs de balise peuvent être passés comme argument de hachage. |
| 10 | c.keys Renvoie un tableau contenant les noms des champs du formulaire. |
| 11 | c.key?( name) c.has_key?( name) c.include?( name) Renvoie true si le formulaire contient le nom de champ spécifié. |
| 12 | c.multipart_form([ url[, encode]]) { ...} c.multipart_form( options) { ...} Renvoie une chaîne HTML pour définir un formulaire multipart. Les attributs de balise peuvent être passés sous forme d'argument de hachage. |
| 13 | c.out([ header]) { ...} Génère du HTML et le produit en sortie. Utilisez la sortie du bloc pour créer la chaîne générée pour le corps de la page. |
| 14 | c.params Renvoie un hash contenant les noms et les valeurs des champs de formulaire. |
| 15 | c.params= hash Définit le nom et la valeur du champ à utiliser. |
| 16 | c.password_field( name[, value[, size=40[, max]]]) c.password_field( options) Renvoie une chaîne HTML pour définir un champ de mot de passe. Les attributs de balise peuvent être passés sous forme d'argument de hachage. |
| 17 | c.popup_menu( name, value...) c.popup_menu( options) c.scrolling_list( name, value...) c.scrolling_list( options) Renvoie une chaîne HTML pour définir un menu déroulant. Les attributs de balise peuvent être passés comme argument de hachage. |
| 18 | c.radio_button( name[, value[, checked=false]]) c.radio_button( options) Renvoie une chaîne HTML pour définir un champ radio. Les attributs de balise peuvent être passés comme argument de hachage. |
| 19 | c.radio_group( name, value...) c.radio_group( options) Renvoie une chaîne HTML pour définir un groupe de boutons radio. Les attributs de balise peuvent être passés comme argument de hachage. |
| 20 | c.reset( name[, value]) c.reset( options) Renvoie une chaîne HTML pour définir un bouton de réinitialisation. Les attributs de balise peuvent être passés comme argument de hachage. |
| 21 | c.text_field( name[, value[, size=40[, max]]]) c.text_field( options) Renvoie une chaîne HTML pour définir un champ de texte. Les attributs de balise peuvent être passés sous forme d'argument de hachage. |
| 22 | c.textarea( name[, cols=70[, rows=10]]) { ...} c.textarea( options) { ...} Renvoie une chaîne HTML pour définir un champ textarea. Si un bloc est spécifié, la chaîne produite par le bloc sera utilisée comme contenu du textarea. Les attributs de balise peuvent être passés sous forme d'argument de hachage. |
Méthodes de génération HTML
Vous pouvez utiliser les noms de balises HTML correspondants dans une instance CGI pour créer des balises HTML, comme le montre l'exemple suivant :
Exemple
#!/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 { "Un formulaire : " } + "\n"+
cgi.textarea("get_text") +"\n"+
cgi.br +
cgi.submit
}
}
}
}
Attributs de l'objet CGI
Vous pouvez utiliser les attributs suivants dans une instance CGI :
| Attribut | Valeur de retour |
|---|---|
| accept | Types MIME acceptables |
| accept_charset | Jeux de caractères acceptables |
| accept_encoding | Encodages acceptables |
| accept_language | Langues acceptables |
| auth_type | Types acceptables |
| raw_cookie | Données de cookie (chaîne brute) |
| content_length | Longueur du contenu |
| content_type | Type de contenu |
| From | Adresse e-mail du client |
| gateway_interface | Version CGI |
| path_info | Chemin |
| path_translated | Chemin traduit |
| Query_string | Chaîne de requête |
| referer | URL précédemment visitée |
| remote_addr | Adresse de l'hôte client (IP) |
| remote_host | Nom de l'hôte client |
| remote_ident | Nom du client |
| remote_user | Utilisateur authentifié |
| request_method | Méthode de requête (GET, POST, etc.) |
| script_name | Noms des paramètres |
| server_name | Nom du serveur |
| server_port | Port du serveur |
| server_protocol | Protocole du serveur |
| server_software | Logiciel serveur |
| user_agent | Agent utilisateur |