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

Ruby CGI 메서드

Ruby CGI 메서드

다음은 CGI 클래스의 메서드 목록입니다:

序号方法描述
1CGI::new([ level="query"])
CGI 객체를 생성합니다. query는 다음 값 중 하나일 수 있습니다:
  • query: HTML을 생성하는 출력이 없습니다

  • html3: HTML3.2

  • html4:  HTML4.0 Strict

  • html4Tr: HTML4.0 Transitional

  • html4Fr:  HTML4.0 Frameset

2CGI::escape( str)
URL 인코딩을 사용하여 문자열을 이스케이프합니다
3CGI::unescape( str)
escape()로 인코딩된 문자열을 디코딩합니다。
4CGI::escapeHTML( str)
HTML 특수 문자를 인코딩합니다., 포함: & < >。
5CGI::unescapeHTML( str)
HTML 특수 문자를 디코딩합니다., 포함: & < >。
6CGI::escapeElement( str[, element...])
지정된 HTML 요소에서 HTML 특수 문자를 인코딩합니다.
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)

HTML 문자열을 정의하는 숨겨진 필드를 반환합니다. 태그 속성은 해시 함수로 전달할 수 있습니다.
9c.image_button( url[, name[, alt]])
c.image_button( options)

HTML 문자열을 정의하는 이미지 버튼을 반환합니다. 태그 속성은 해시 함수로 전달할 수 있습니다.
10c.keys
양식 필드 이름을 포함한 배열을 반환합니다.
11c.key?( name)
c.has_key?( name)
c.include?( name)

양식이 지정된 필드 이름을 포함하면 true를 반환합니다.
12c.multipart_form([ url[, encode]]) { ...}
c.multipart_form( options) { ...}

HTML 문자열을 정의하는 멀티미디어 양식(multipart)을 반환합니다. 태그 속성은 해시 함수로 전달할 수 있습니다.
13c.out([ header]) { ...}
HTML을 생성하고 출력합니다. 블록의 출력을 사용하여 페이지 주체를 생성한 문자열을 생성합니다.
14c.params
양식 필드 이름과 값을 포함한 해시 값을 반환합니다.
15c.params= hash
필드 이름과 값을 설정합니다.
16c.password_field( name[, value[, size=40[, max]]])
c.password_field( options)

HTML 문자열을 정의하는 패스워드 필드를 반환합니다. 태그 속성은 해시 함수로 전달할 수 있습니다.
17c.popup_menu( name, value...)
c.popup_menu( options)
c.scrolling_list( name, value...)
c.scrolling_list( options)

HTML 문자열을 정의하는 팝업 메뉴를 반환합니다. 태그 속성은 해시 함수로 전달할 수 있습니다.
18c.radio_button( name[, value[, checked=false]])
c.radio_button( options)

HTML 문자열을 정의하는 라디오 필드를 반환합니다. 태그 속성은 해시 함수로 전달할 수 있습니다.
19c.radio_group( name, value...)
c.radio_group( options)

HTML 문자열을 정의하는 라디오 버튼 그룹을 반환합니다. 태그 속성은 해시 함수로 전달할 수 있습니다.
20c.reset( name[, value])}}
c.reset( options)

reset 버튼을 정의하는 HTML 문자열을 반환합니다. 태그의 속성은 해시 함수로 전달할 수 있습니다.
21c.text_field( name[, value[, size=40[, max]]])
c.text_field( options)

text 필드를 정의하는 HTML 문자열을 반환합니다. 태그의 속성은 해시 함수로 전달할 수 있습니다.
22c.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_cookieCookie 데이터 (원字符串)
content_length콘텐츠 길이(Content length)
content_type콘텐츠 타입(Content type)
From클라이언트 e-이메일 주소
게이트웨이 인터페이스CGI 버전
path_info경로
path_translated변환된 경로
Query_string쿼리 문자열
referer이전 방문 웹사이트
remote_addr클라이언트 호스트 주소(IP)
remote_host클라이언트 호스트 이름
remote_ident클라이언트 이름
remote_user인증된 사용자
request_method요청 메서드(GET, POST 등.)
script_name파라미터 이름
server_name서버 이름
server_port서버 포트
server_protocol서버 프로토콜
server_software서버 소프트웨어
user_agent사용자代理(User agent)