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 Server 和 DB2:Active Record 现在支持 Microsoft SQL Server(通过 ADO)和 IBM 的 DB2 数据库。
  • MemCacheStore 用于会话:您现在可以使用 Danga 的 memcache 技术在 Action Pack 中存储会话。
  • 生成器防止保留字:不仅 ./script/generate model Thread 会被拒绝,您还会收到一份实时从 WordNet 获取的同义词列表!

这只是 Rails 0.9.3 中引入的 35 项更改、修复和功能的冰山一角。您可以在 Active RecordAction 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 手册