• 国家国际发展合作署举行揭牌仪式 2018-04-21
  • 春潮涌动,千余青少年相约科技馆 2018-04-21
  • 英俄用“关闭电视台”互相威胁 双边关系雪上加霜 2018-04-21
  • 拔不拔赖清德?蔡英文何去何从 2018-04-21
  • 我国阅读指数首次发布 人均纸书阅读量为4.66本 2018-04-20
  • 《夏目的美丽日记》绿色度测评报告 2018-04-20
  • 只要打动人心,文艺片也可以很好看 2018-04-19
  • 《荒城纪》揭幕北京大学生电影节 2018-04-19
  • 贵州桐梓:困难群众打工差点错过“移民搬迁”之后 2018-04-19
  • 《英雄联盟》2018年季中冠军赛入围赛抽签将4月24日举行 2018-04-19
  • 全国最美志愿者黄梅生:孤儿的“校长爸爸” 2018-04-19
  • 《荒城纪》揭幕北京大学生电影节 2018-04-18
  • 贵州桐梓:困难群众打工差点错过“移民搬迁”之后 2018-04-18
  • 老布什夫人芭芭拉放弃治疗,余生将在家中“颐养” 2018-04-18
  • 音乐剧《朝暮有情人》演绎港穗两地三代情 2018-04-18
  • 【ruby教程】Ruby CGI方法

    栏目: Ruby 发布于: 2014-11-26 07:24:39

    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) { ...}

    返回定义一个多媒体表单(multipart)的HTML字符串。标签的属性可以以一个哈希函数作为参数传递。
    13c.out([ header]) { ...}
    生成 HTML 并输出。使用由块的输出来创建页面的主体生成的字符串。
    14c.params
    返回包含表单字段名称和值的哈希值。
    15c.params= hash
    设置使用字段名和值。
    16c.password_field( name[, value[, size=40[, max]]])
    c.password_field( options)

    返回定义一个password字段的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)

    返回定义一个radio字段的HTML字符串。标签的属性可以以一个哈希函数作为参数传递。
    19c.radio_group( name, value...)
    c.radio_group( options)

    返回定义一个radio按钮组的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)
    FromClient e-mail 地址
    gateway_interfaceCGI 版本
    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)

    本文转载自:w3cschool
    本站文章除注明转载外,均为本站原创或编译?;队魏涡问降淖?,但请务必注明出处。
    转载请注明:文章转载自 七星彩票平台
    本文标题:【ruby教程】Ruby CGI方法
    IT技术书籍推荐:
    iOS编程(第4版)
    iOS编程(第4版)
    科尔 (Christian Keur) (作者), 赫乐嘎斯 (Aaron Hillegass) (作者), 康威 (Joe Conway) (作者), 丁道骏 (译者)
    《iOS编程》荣获Jolt生产力大奖。第4版更新了iOS7和Xcode5的内容。全书涵盖了开发iOS应用的方方面面。从Objective-C基础知识到新增加的语言特性;从AppKit库到常见的Cocoa设计模式;从Xcode技巧到Instrumen tst等。如果读者刚接触iOS编程,阅读本书前两章可以快速入门。如果读者已经有iOS编程经验,阅读本书可以拾遗补缺。