12月7日,David Heinemeier Hansson(DHH)在Ruby on Rails的官方blog上宣布,经历了将近一年的开发之后,Ruby on Rails 2.0目前已经正式发布。
2.0版本的Rails具备众多新的特性,并且在代码上做出了大量的修补和完善。就新版的发布,David这样写道:
Rails 2.0是Rails框架发展历史上的一个里程碑。我投入在Rails框架开发方面的工作已经有四年半的时间,并且Rails目前的开发参与者也越来越多。对这几年我们所做出的努力和坚持的信念,我感到非常的满意。并且我们坚持一贯的理念,同时不断推动Rails的发展。
发布说明中,描述最新特性的列表有很多内容。令Rails开发者最为关注的改进包括有:
◆Action Pack: Resources
在Controller之中充斥着大量action方法的情况已经不存在了,我们对RESTful方式的实现进行了大量的改进和提高。首先,我们不再使用分号来分隔自定义方法,而是采用斜线,例如原先是/people/1;edit的URL,现在改成了 /people/1/edit。另外我们还对URL路由资源添加了命名空间的支持,因此像后台管理的接口可以非常简单的定义如下:
map.namespace(:admin) do |admin| |
这种方式可以使开发者按照inventory_admin_products_url和 admin_product_tags_url的方式来定义命名路由。为了方便记录所有路由规则,我们添加了一个叫做“rake routes”的rake任务,可以帮助开发者列举出routes.rb定义的所有命名路由规则。
此外,我们还引入了一个新的约定,即所有基于资源的controller的默认形式都是复数形式。这样即便单个资源在不同路由规则中被多次引用,仍然可以指向同一个controller来处理,例如:
# /avatars/45 => AvatarsController#show |
◆Action Pack: Multiview
Action Pack中与资源映射一起增强功能的还有MultiView。我们已经有了respond_to方法,但我们可以更进一步,把MultiView控制延伸到模板里面去。我们可以根据模板文件的后缀格式来决定使用什么render呈现机制。因此,show.rhtml可以写成show.rhtml.erb,这就表明是show这个action的一个默认rhtml模板,和之前在Action里面使用respond_to声明的format.html是一个意思。此外还可以使用诸如show.csv.erb的形式,表明显示为csv格式的数据,并且使用默认的ERB去render呈现。
所以,新的模板格式是: action.format.renderer。下面有几个例子:
◆show.erb: 对于所有格式,都使用默认的erb显示show模板
◆index.atom.builder: 用Builder库来呈现XML文件,之前被称作rxml,输出的文件类型为RSS的AOTM类型
◆edit.iphone.haml: 使用自定义的HAML模板引擎机制(默认情况下并没有包含)来render输出模板内容到iPhone手机之上
说到iPhone手机,我们可以自定义一个专用类型来实现内部路由。当你需要类似iPhone这样的特殊HTML接口的时候,我们所要这去实现。
◆Action Pack: Record identification
为了驱使开发者使用基于资源的映射,我们对资源映射的controller和view的URL处理进行了大量的简化。我们添加了大量命名约定,可以直接把model对象转化为资源映射的路由,例如:
| # person is a Person object, which by convention will # be mapped to person_url for lookup redirect_to(person) link_to(person.name, person) form_for(person) |
◆Action Pack: 贴近HTTP方式
正如开发者期望的那样,Rails 2.0的Action Pack更加贴近HTTP并且充分利用了HTTP协议,例如资源、多种视图,以及其他更多的内容。我们添加了一个模块来处理HTTP的基本验证,可以使得授权的API轻松跨越SSL协议,而且非常简单易用。下面是一个例子(更多的例子请参考ActionController:: HttpAuthentication):
class PostsController < ApplicationController |
我们还添加了一些选项让,仅用几行代码就能够让浏览器去访问多台服务器上面的资源。如果你添加如下设置:ActionController:: Base.asset_host = “assets%d.example.com”,那么Rails框架就会自动的把静态资源的请求分发到多台物理服务器上面去,例如分发到 assets1.example.com到 assets4.example.com等等之上。这样浏览器可以同时向多台服务器获取资源,增加你的应用的访问速度。
◆Action Pack: 安全性
能够快捷的创建出安全应用总是一件令人愉快的事情,而Rails2.0提供了大量先进功能来实现这一目标。重要的是,Rails现在提供了一种内建的机制来处理CRSF攻击。我们在所有的HTML表单和AJAX请求中包含了一个特殊的token,当请求来自于其他应用的时候,就可以及时检测到。所有这些安全选项,在新创建的Rails 2.0项目当中默认就是开启的状态,对于升级到Rails 2.0的应用,要打开这一个选项也很容易,可以使用ActionController::Base.protect_from_forgery来开启选项(详细的说明请参照:ActionController::RequestForgeryProtection)。
| 共3页: 1 [2] [3] 下一页 | ||
|
|
||||
| · NAC安全访问控制 · 网络布线测试仪器 · Windows Server 2008专.. · Windows远程桌面应用 · 网络故障排除宝典 · 运营商封堵ADSL共享 中.. · 解析35岁技术人的价值.. · 世纪枭雄比尔盖茨的王.. |
· 主流品牌防火墙配置 · ASP.NET开发教程 · 超级计算机TOP500专题 · Vista SP1对决XP SP3 · SQL Server 2008/2005.. · 程序员如何成长? · C#技术开发指南 · 虚拟化技术还有点“虚” |
|||
|
||||
| · SOA 面向服务架构 · SQL Server 2008/2005.. · Apache技术专题 · 三层交换技术专题 · SQL Server入门到精通 · Windows远程桌面应用 · C#技术开发指南 · Apache技术专题 |
· Windows集群服务应用 · C#技术开发指南 · 国际文档格式标准开战 · 路由器设置与口令恢复 · Linux 集群技术专题 · PHP开发应用手册 · SOA 面向服务架构 · 企业数据恢复指南 |
|||
|
||||
| · SQL Server入门到精通 · SQL Server 2008/2005.. · SOA 面向服务架构 · Apache技术专题 · C#技术开发指南 · 三层交换技术专题 · Apache技术专题 · C#技术开发指南 |
· Windows远程桌面应用 · 企业数据恢复指南 · Windows集群服务应用 · 路由器设置与口令恢复 · Linux 集群技术专题 · SOA 面向服务架构 · 了解统一威胁管理(UTM).. · 反垃圾邮件技术应用 |
|||