Latest web development tutorials

루비 CGI 방법

다음은 방법의 CGI 클래스의 목록입니다 :

아니오. 방법 설명
(1) CGI :: 새로운 ([수준 = " 쿼리"])
CGI 개체를 만듭니다. 쿼리는 다음 값이 될 수 있습니다 :
  • 쿼리 생성없이 HTML 출력

  • html3 : HTML3.2

  • HTML4 : HTML4.0 엄격한

  • html4Tr : HTML4.0 경과

  • html4Fr : HTML4.0의 프레임 셋

CGI :: 이스케이프 (STR)
URL 인코딩 된 문자열 탈출
3 CGI :: 언 이스케이프 (STR)
이스케이프를 통해 () 인코딩 된 문자열을 디코딩한다.
4 CGI :: escapeHTML (STR)
포함, HTML 특수 문자를 코딩 : & <>.
(5) CGI :: unescapeHTML (STR)
를 포함한 특수 HTML 문자를 디코딩 : & <>.
6 CGI :: escapeElement (STR [요소 ...])
HTML을 지정된 HTML 요소에 특수 문자를 코딩.
(7) CGI :: unescapeElement (캐릭터, 요소 [ 요소 ...])
지정된 HTML 요소에 특수 HTML 문자를 디코딩.
8 CGI :: 구문 분석 (쿼리)
쿼리 문자열을 구문 분석 = 키 "값 쌍을 포함하는 해시를 반환합니다.
9 CGI :: 예쁜 (문자열 [, 리더 = ""])
위로 깔끔한 HTML 형식입니다. 당신이리더를 지정하면각 행의 시작 부분에 기록됩니다.리더기본값은 두 개의 공간이다.
(10) CGI :: rfc1123_date (시간)
RFC-1123 형식으로 시간에 따라 (예를 들어, 2008년 6월 2일 (화) 0시 0 분 0 초 GMT).

CGI 인스턴스 방법

다음 예는 CGI합니다 :: 변수 C에 할당 된 새 개체, 아래의 방법 :

아니오. 방법 설명
(1) C [이름]
그것은 해당 필드라는이름의값을 포함하는 배열을반환합니다.
c.checkbox (이름 [, 값은 [ 확인 = 거짓]])
c.checkbox (옵션)
체크 박스 필드를 정의하는 HTML 캐릭터 라인을 돌려줍니다. 라벨의 속성은 매개 변수로 전달 해시 함수 될 수있다.
3 c.checkbox_group (이름, 값 ...)
c.checkbox_group (옵션)
> 체크 박스 그룹을 정의하는 데 사용되는 HTML 캐릭터 라인을 돌려줍니다. 라벨의 속성은 매개 변수로 전달 해시 함수 될 수있다.
4 c.file_field (이름 [크기 = 20 [최대]])
c.file_field (옵션)
정의 파일 필드에 HTML 캐릭터 라인을 돌려줍니다.
(5) c.form ([방법 = "게시물" [URL]]) {...}
c.form (옵션)
위로 양식 양식 HTML 문자열을 정의했다. 블록이 지정된 경우, 형태의 컨텐츠로서 출력. 라벨의 속성은 매개 변수로 전달 해시 함수 될 수있다.
6 c.cookies
쌍으로 쿠키를 포함 위로 CGI :: 쿠키 객체입니다.
(7) c.header ([헤더])
위로 CGI 헤더 정보를 제공합니다. 헤더 인수 열쇠 해시 값 인 경우, - 값 쌍의 헤더 정보를 생성하는 데 사용된다.
8 c.hidden (이름 [가치])
c.hidden (옵션)
숨겨진 필드를 정의하는 HTML 캐릭터 라인을 돌려줍니다. 라벨의 속성은 매개 변수로 전달 해시 함수 될 수있다.
9 c.image_button (URL [이름 [ ALT]])
c.image_button (옵션)
위로 HTML 이미지 버튼의 문자열을 정의합니다. 라벨의 속성은 매개 변수로 전달 해시 함수 될 수있다.
(10) c.keys
그것은 양식 필드 이름을 포함하는 배열을 반환합니다.
(11) c.key? (이름)
c.has_key? (이름)
c.include? (이름)
양식이 포함 된 경우 지정된 필드 이름은 true를 반환합니다.
(12) c.multipart_form ([URL [,] 인코딩 ]) {...}
c.multipart_form (옵션) {...}
돌아 가기 멀티미디어 형태 (다중) HTML 문자열을 정의합니다. 라벨의 속성은 매개 변수로 전달 해시 함수 될 수있다.
(13) c.out ([헤더]) {... }
그리고 HTML 출력을 생성합니다. 페이지를 생성하기 위해 몸에 의해 사용되는 출력 블록은 문자열을 생성합니다.
(14) c.params
반환 해시는 양식 필드 이름과 값을 포함합니다.
(15) c.params = 해시
필드 이름과 값을 사용하여 설정.
(16) c.password_field (이름 [, 값 [, 크기 = 40, 최대]]])
c.password_field (옵션)
다시 암호 필드에 HTML 문자열을 정의합니다. 라벨의 속성은 매개 변수로 전달 해시 함수 될 수있다.
(17) c.popup_menu (이름, 값 ...)
c.popup_menu (옵션)
c.scrolling_list (이름, 값 ...)
c.scrolling_list (옵션)
는 HTML 문자열을 정의하는 팝업 메뉴를 돌려줍니다. 라벨의 속성은 매개 변수로 전달 해시 함수 될 수있다.
(18) c.radio_button (이름 [, 값 [, 확인 = 거짓]])
c.radio_button (옵션)
HTML 정의 라디오 필드의 문자열을 반환합니다. 라벨의 속성은 매개 변수로 전달 해시 함수 될 수있다.
(19) c.radio_group (이름, 값 ...)
c.radio_group (옵션)
문자열 정의 HTML 라디오 버튼 그룹을 돌려줍니다. 라벨의 속성은 매개 변수로 전달 해시 함수 될 수있다.
(20) C.RESET (이름 [가치])
C.RESET (옵션)
HTML 문자열을 반환하는 리셋 버튼을 정의합니다. 라벨의 속성 인수로 해시 함수가 될 수있다
(21) c.text_field (이름 [, 값 [, 크기 = 40, 최대]]])
c.text_field (옵션)
HTML 문자열 필드 정의 텍스트를 돌려줍니다. 라벨의 속성은 매개 변수로 전달 해시 함수 될 수있다.
(22) c.textarea (이름 [, COLS = 70 [행 = 10]]) {...}
c.textarea (옵션) {...}
문자열 정의 HTML의 텍스트 영역 필드를 돌려줍니다. 당신은 블록, 텍스트 영역의 내용과 같은 코드 문자열 출력 블록을 지정합니다. 라벨의 속성은 매개 변수로 전달 해시 함수 될 수있다.

HTML 생성

다음과 같이 다음 HTML 태그를 생성하기 위해 적절한 CGI 예를 들어, 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 인스턴스를 사용할 수 있습니다 :

재산 반환 값
동의 사용 가능한 MIME 타입
accept_charset 허용되는 문자 세트
accept_encoding 사용 가능한 코드
으로 accept_language 사용 가능한 언어
AUTH_TYPE 사용 가능한 유형
raw_cookie 쿠키 데이터 (원본 문자열)
CONTENT_LENGTH 콘텐츠 길이 (콘텐츠 길이)
콘텐츠 _ 콘텐츠 형식 (콘텐츠 형식)
부터 클라이언트 이메일 주소
GATEWAY_INTERFACE CGI 버전
PATH_INFO 통로
PATH_TRANSLATED 전환 경로 후
QUERY_STRING 쿼리 문자열
리퍼러 URL을 액세스하기 전에
REMOTE_ADDR 클라이언트 호스트 어드레스 (IP)
REMOTE_HOST 클라이언트 호스트 이름
REMOTE_IDENT 클라이언트 이름
REMOTE_USER 인증 된 사용자
REQUEST_METHOD 요청 메소드 (GET, POST 등)
SCRIPT_NAME 매개 변수 이름
서버 _ 서버 이름
SERVER_PORT 서버 포트
SERVER_PROTOCOL 서버 프로토콜
SERVER_SOFTWARE 서버 소프트웨어
USER_AGENT 사용자 에이전트 (사용자 에이전트)