2005 年 1 月 4 日,星期二

Rails 0.9.3:乐观锁、动态查找器、1.8.2

发布者 admin

Rails 现在完全兼容 Ruby 1.8.2,建议各位尽快升级。新版本包含了 Ruby 一整年的错误修复,因此终于能够将新版本与 Rails 一起使用了。但 0.9.3 不仅如此而已,亮点如下:

  • 自动化乐观锁:只需向表中添加字段 lock_version,关联的类就会受乐观锁管控,当陈旧对象尝试保存时就会引发异常。
  • 动态查找器:Person.find_by_user_namePayment.find_by_amount 甚至 Person.find_by_user_name_and_password 等查找器现在无需任何代码即可使用。在新的动态查找器中,可以使用任何列并将其与其他列组合。
  • MS SQL 服务器和 DB2:Active Record 现在支持 Microsoft SQL 服务器(通过 ADO)和 IBM 的 DB2 数据库。
  • MemCacheStore 用于会话:现在可以使用 Danga 的 memcache 技术在 Action Pack 中存储会话。
  • 生成器可防止保留字:不仅 ./script/generate model Thread 将被拒绝,您还将获得从 WordNet 中实时获取的同义词列表!

这只是引入了 Rails 0.9.3 的 35 项更改、修复和功能的一小部分。您可以在以下文件的变更日志中阅读完整内容:ActiveRecordAction PackRails

从 Rails 0.9.2 升级到 0.9.3

您只需要进行一项更改,即可将应用程序从 0.9.2 更新到 0.9.3。在 config/environments/production.rb 和 config/environments/test.rb 中,您需要更改

  ActionController::Base.reload_dependencies = false
  ActiveRecord::Base.reload_associations     = false

…为

Dependencies.mechanism = :require

而在 config/environments/development.rb 中,您需要更改

  ActionController::Base.reload_dependencies = true
  ActiveRecord::Base.reload_associations     = true

…为

Dependencies.mechanism = :load

如果您从 0.8.x 升级而来,则需要遵循升级到 0.9 手册