Rails 3 Beta版发布 功能更新变化丰富
创始人
2024-06-22 16:31:32
0

【51CTO快报】流行Web开发框架Ruby on Rails最近发布了最新的Rails 3 Beta版本,之前Rails创始人DHH曾对Rails 3 Beta版的发布日期做过预告:“假如我们在1月底还未完成发布的话,那功能完整的Rails 3 Beta版将不迟于2月份完成。”

51CTO.com在之前的报道《Rails 3 Beta版本月将出 Merb融合带来更多选择》中曾提到,在Rails 3中将融合另一个基于Ruby的框架Merb,通过Merb的灵感,一个API将会很方便的添加插件。“我们在Rails上有成百上千的插件可供选择,所实现的功能从分页到身份验证等都有。”DHH说。另一个基于Merb的Rails 3能力是将不可知论融入到框架测试的过程中,开发者除了可以使用Rails测试单位框架外,还可以利用rSpec框架。

与Merb框架的融合成为Rails 3的主要变化 
与Merb框架的融合成为Rails 3的主要变化

下面是Rails 3 Beta中可以看到的主要变化:

支持Ruby 1.8.7以上版本。Rails 3必须运行在Ruby 1.8.7及以上版本;

ORM上query API变化巨大。Rails 3在ORM的架构方面变化很大,直接导致ActiveRecord取用Object的语法发生变化。

Gemfile变化。在Rails 3中,config.gem变为project下的Gem方法。

除以上几点外,Rails 3还同时废除了很多旧的API,并予以警告提示;增加了抽象控制器层等插件API;Beta版还修复了一些之前版本的小Bug。

Rails 3.0安装指令

  1. # 如果系统需要请自行使用sudo指令  
  2. gem install tzinfo builder i18n memcache-client rack \  
  3.   rake rack-test rack-mount erubis mail text-format \  
  4.   thor bundler  
  5. gem install rails --pre  
  6.  

下面简单的介绍一下升级时的注意事项(整理编译自Rails 3.0发布文档:http://guides.rails.info/3_0_release_notes.html)。

◆升级到Rails 3.0之前,最好先升级到Rails 2.3.5,以确保你的应用在稳定版能够正常运行。

◆Rails 3要求Ruby版本在Ruby 1.8.7或以上。也兼容Ruby 1.9.2。

◆为了让同一进程运行多个Rails应用,Rails 3引入了Application这个对象。Application对象使用config/application.rb定义。如果你要升级你的应用到Rails 3,那么务必要添加这个文件,并将相应配置从原来的config/environment.rb移动到config/application.rb当中。

◆新的script/rails替换了原本在script路径下的所有脚本。不过,你无须直接运行script/rails,rails指令会搜索Rails应用的根目录并直接运行脚本。推荐使用方式:

  1. rails console                      # => ./script/console  
  2. rails g scaffold post title:string # => ./script/generate scaffold post title:string  
  3.  

◆config.gem方法被取消,依赖性现在由bundler和一个Gemfile来管理。

◆为了更好的升级,我们开发了一个Rails升级插件(http://github.com/rails/rails_upgrade)用于实现升级自动化。只要安装插件并运行rake rails:upgrade:check即可。插件安装指令:

  1. rails plugin install git://github.com/rails/rails_upgrade.git  

【延伸阅读】

  1. Ruby on Rails入门之道
  2. DHH漫谈Ruby on Rails的文化
  3. 专题:Ruby百家谈
  4. Web开发谁更高效 Java对决Ruby on Rails
  5. Ruby on Rails创始人DHH:架构是将复杂的问题简单化

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
着眼MAC地址,解救无法享受D... 在安装了DHCP服务器的局域网环境中,每一台工作站在上网之前,都要先从DHCP服务器那里享受到地址动...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...