快速业务通道

Ruby on Rails 2.0的新特性介绍 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-14
列化到JSON格式的功能,它和XML序列化的支持是一样的,还可以支持关联关系的抓取,只需要写 person.to_json就可以了。

Active Record: Shedding some weight

为了让ActiveRecord更加简洁和通用,我们把acts_as_list,acts_as_tree等acts_as_xxx功能挪出 了Rails,放在了Rails官方的SVN插件里面。如果你需要用到诸如acts_as_list的话,那么你需要安装这 个插件,你可以./script/plugin install acts_as_list 来安装,安装好以后,acts_as_list功能又回 来了,用法没有任何区别。

更加激进一点的改动是我们把所有的商业数据库驱动全部挪到了外部的gem包里面。因此Rails2.0仅 仅自带MySQL、SQLite和PostgreSQL数据库驱动。这三个数据库是我们更加积极测试和支持的数据库。当 然,这并非意味着我们排斥商业数据库,我们只是希望它们能够在Rails发行版本之外保持自己独立的开 发和发布计划。对于商业数据库来说,这其实是一件好事情,让厂商可以在基础版本上面添加更多的异常 和处理机制,使它们工作的更好。

所有的商业数据库驱动现在都放在gems包里面,符合如下命名规则:activerecord-XYZ-adapter。 所以如果你安装了activerecord-oracle-adapter包,那么这台机器上面所有的各种版本的Rails应用程序 都可以访问Oracle数据库了,你却无需修改任何一行应用的代码。

这种方式对于新的数据库驱动来说在Rails社区也可以更加方便的获得支持。只要你把数据库驱动安 装命名规范打包成为gem,用户就可以安装这个gem,立刻在Rails程序当中使用到它们了。

Active Record: with_scope with a dash of syntactic vinegar

ActiveRecord::Base.with_scope被劝阻使用以避免用户在controoler,特别是filter里面误用。现 在我们鼓励用户仅仅在model里面使用这种格式,这也是当初我们设计这项功能的初衷和保持一个良好实 践的需要。当然,这仅仅只是鼓励和劝阻,如果你在衡量得失之后,非要坚持在model之外使用 with_scope的话,你尽管可以用这种方式来调用:.send(:with_scope)。

ActionWebService out, ActiveResource in

在SOAP和REST的争论当中,Rails选择坚定的站在REST这一边似乎不出人意料。如果你并没有集成其 他异构系统需求的话,那么我们强烈劝阻你使用SOAP。作为很自然的选择,ActionWebService现在并不在 Rails框架的依赖当中,gem包仍然保留,但是这是一个重要的信息,建议你尽量不用它。

与此同时,我们把新的ActiveResource包从beta版本升级挪入Rails框架之内。ActiveResource很像 ActiveRecord,只不过面向的不是model,而是资源。它有和ActiveRecord非常相似的API,并且可以和基 于资源的Rails应用良好的整合。例如,ActiveResource提供了一个vanilla scaffold,你可以参考。

ActiveSupport

ActiveSupport没有多少新东西,我们只是添加了大量新的方法,例如Array#rand可以随机取得集合 的元素,Hash#except可以过滤掉不想要的key和其他大量的Date类型的扩展。另外单元测试增加了一个 assert_difference的便利方法。简而言之,仅仅是bugfix和调整。

Action Mailer

Action Mailer有不少更新,除了一大堆bugfix之外,我们添加了一个选项可以注册可选的模板渲染 机制,此外还给email的单元测试添加一套assert_emails,例如验证邮件投递的数量:

1.assert_emails 1 do post :signup, :name => ‘Jonathan’ end

Rails: The debugger is back

Ruby on Rails 2.0的新特性介绍(7)

时间:2011-11-09 javaeye robbin

为了更好的整合调试器,我们对Rails框架整体进行了一系列的改进。我最得意之作就是调试器的断 点功能回来了,这不仅仅只是一个类似irb dump那样的断点数据观测,而是一个真正的调试器。你可以单 步

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号