作者:chenk85 来源:JavaEye   酷勤网收集 2008-05-13

摘要
  Rails 2.1 的三个新特性:script/dbconsole 脚本允许用户使用Rails的控制台客户端连接到数据库;ActiveRecord migrations 的新方法 change_table ;Rails2.1新特性之ActiveRecord::Base.create的变化。其他新特性 如:内建的时区支持,GEM包依赖关系分享等
robbin 写道
Rails 2.1的第一个预览版本发布了,你可以从以下方式进行安装:

sudo gem install rails –source http://gems.rubyonrails.com/

Rails 2.1提供了很多新特性,例如:内建的时区支持,GEM包依赖关系分享,更好的缓存系统支持等等


Rails 2.1 的三个新特性

script/dbconsole

script/dbconsole 脚本允许用户使用Rails的控制台客户端连接到数据库。

如果需要连接到MySQL的生产数据库作一些操作,直接运行 RAILS_ENV=production script/dbconsole 就能登录到数据库服务器上并使用MySQL的命令行客户端。当然,这个脚本也同样在 PostgreSQL 和 SQLite 数据库运行。

要在当前Rails应用程序中使用这个新脚本,就要先升级到edge Rails,再运行 rake rails:update:script 。好好享受这个脚本的便利吧。


ActiveRecord migrations 的新方法 change_table

现在可以通过 change_table 代码块来完成对数据库表的修改。

Java代码 复制代码

  1. change_table :videos do |t|   
  2.   t.add_timestamps   
  3.   t.add_belongs_to :goat   
  4.   t.add_string :name, :email, :limit => 20  
  5.   t.remove_column :name, :email # takes multiple arguments   
  6.   t.rename :new_name   
  7.   t.string :new_string_column # executes against the renamed table name   
  8. end  


补充些要注意的事情:

* add_XXX 方法会添加一个新列,比如 add_string 会添加一个新的 string 类型的字段。
* Of course, add_timestamps 会添加神奇的 created_at 和 updated_at 的 datetime 类型的字段。
* remove_column 现在可以接受多个参数。
* rename 方法会重命名数据库表。

Rails2.1新特性之ActiveRecord::Base.create的变化

ActiveRecord::Base.create 现在可以像 ActiveRecord::Base.new 一样带上一个代码块参数了。

Java代码 复制代码

  1. @person = Person.create(params[:person]) do |p|   
  2.  p.name = 'Konata Izumi'  
  3.  p.age = 17  
  4. end  

来自:Rails 2.1的第一个预览版本发布了 Rails 2.1 的三个新特性

分类: .NET技术 网页设计 交互设计



关于酷勤 | 联系方式 | 免责声明 | 友情链接