Ruby CGI方法
以下為CGI類別的方法清單:
序號 | 方法描述 |
---|---|
1 | CGI::new([ level="query"]) #建立CGI 物件。 query可以是以下值:
|
#CGI::escape( str)使用URL 編碼來轉義字串 | |
CGI::unescape ( str)對透過escape() 編碼的字串進行解碼。 | |
CGI::escapeHTML( str)編碼 HTML 特殊字元, 包括: & < >。 | |
CGI::unescapeHTML( str)解碼 HTML 特殊字元, 包含: & < >。 | |
CGI::escapeElement( str[, element...])在指定的HTML 元素中編碼HTML特殊字元。 | |
CGI::unescapeElement( str, element[, element...])在指定的HTML 元素中解碼HTML 特殊字元。 | |
CGI::parse( query)解析查詢字串,並傳回包含雜湊的鍵=》值對。 | |
CGI::pretty( string[, leader=" "])傳回整齊的HTML格式。 如果指定了 leader ,它將寫入到每一行的開頭。 leader 預設值為兩個空格。 | |
CGI::rfc1123_date( time)根據RFC-1123 來格式化時間(例如, Tue, 2 Jun 2008 00:00:00 GMT)。 |
序號 | 方法描述 |
---|---|
#1 | c[ name] 傳回一個數組,包含了對應欄位名為name 的值。 |
2 | c.checkbox( name[, 值[, check=false]]) c.checkbox( options) 傳回HTML 字串用於定義checkbox 欄位。標籤的屬性可以以一個哈希函數作為參數傳遞。 |
3 | c.checkbox_group( name, 值...) c.checkbox_group( options) >傳回HTML 字串用於定義checkbox 群組。標籤的屬性可以以一個哈希函數作為參數傳遞。 |
4 | c.file_field( name[, size=20[, max]]) c.file_field( options) 傳回定義file 欄位的HTML字串。 |
5 | c.form([ method="post"[, url]]) { ...} c.form( options) 傳回定義form 表單的HTML字串。 如果指定了程式碼區塊,將作為表單內容輸出。標籤的屬性可以以一個哈希函數作為參數傳遞。 |
6 | c.cookies #回傳 CGI::Cookie 對象,包含了cookie 中的鍵值對。 |
7 | c.header([ header]) 傳回 CGI 頭的資訊。如果 header 參數是雜湊值,則其鍵 - 值對,用於建立頭部資訊。 |
8 | c.hidden( name[, 值]) c.hidden( options) 傳回定義一個隱藏字段的HTML字串。標籤的屬性可以以一個哈希函數作為參數傳遞。 |
9 | c.image_button( url[, name[, alt]]) c.image_button( options) 傳回定義一個影像按鈕的HTML字串。標籤的屬性可以以一個哈希函數作為參數傳遞。 |
10 | c.keys #傳回一個陣列,包含了表單的欄位名稱。 |
11 | c.key?( name) c.has_key?( name) c.include?( name) 如果表單包含了指定的欄位名稱回傳true。 |
12 | c.multipart_form([ url[, encode]]) { ...} c.multipart_form( options) { . ..} 傳回定義一個多媒體表單(multipart)的HTML字串。標籤的屬性可以以一個哈希函數作為參數傳遞。 |
13 | c.out([ header]) { ...} #產生 HTML 並輸出。使用由區塊的輸出來建立頁面的主體產生的字串。 |
14 | c.params #傳回包含表單欄位名稱和值的雜湊值。 |
15 | c.params= hash 設定使用欄位名稱和值。 |
16 | c.password_field( name[, value[, size=40[, max]]]) c.password_field( options ) 傳回定義一個password欄位的HTML字串。標籤的屬性可以以一個哈希函數作為參數傳遞。 |
17 | c.popup_menu( name, 值...) c.popup_menu( options) c.scrolling_list( name , value...) c.scrolling_list( options) 傳回定義一個彈出式選單的HTML字串。標籤的屬性可以以一個哈希函數作為參數傳遞。 |
18 | c.radio_button( name[, 值[, checked=false]]) c.radio_button( options) 傳回定義一個radio欄位的HTML字串。標籤的屬性可以以一個哈希函數作為參數傳遞。 |
19 | c.radio_group( name, 值...) c.radio_group( options) #回傳定義一個radio按鈕群組的HTML字串。標籤的屬性可以以一個哈希函數作為參數傳遞。 |
20 | c.reset( name[, 值]) c.reset( options) 回傳定義一個reset按鈕的HTML字串。 標籤的屬性可以以一個雜湊函數作為參數傳遞 |
21 | c.text_field( name[, value[, size=40[, max ]]]) c.text_field( options) 傳回定義一個text欄位的HTML字串。標籤的屬性可以以一個哈希函數作為參數傳遞。 |
22 | c.textarea( name[, cols=70[, rows=10]]) { ...} c. textarea( options) { ...} 傳回定義一個textarea欄位的HTML字串。 如果指定了區塊,程式碼區塊輸出的字串將作為 textarea 的內容。 標籤的屬性可以以一個哈希函數作為參數傳遞。 |
HTML 產生方法
你可以再CGI 實例中使用對應的HTML 標籤名稱來建立HTML 標籤,實例如下:
#!/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 } } } }
CGI 物件屬性
你可以再CGI 實例中使用下列屬性:
#屬性 | 傳回值 |
---|---|
accept | 可接受的MIME 類型 |
accept_charset | 可接受的字元集 |
accept_encoding | 可接受的編碼 |
accept_language | #可接受的語言 |
auth_type | #可接受的類型 |
raw_cookie | Cookie 資料(原始字串) |
content_length | #內容長度(Content length) |
content_type | 內容類型(Content type) |
## Client e-mail 位址 | |
CGI 版本 | |
##」路徑 | |
轉換後的路徑 | |
#referer | |
remote_addr | |
remote_host | |
remote_ident | |
remote_user | |
request_method | |
script_name | |
server_name | |
server_port | |
server_protocol | |
server_software | |
user_agent | 使用者代理程式(User agent) |