星期二,2013 年 2 月 26 日

Rails 4.0:发布 Beta 1 版!

帖子作者 dhh

紧随 Ruby 2.0 的首个生产版本推出,我们迎来了 Rails 4.0 的第一个 Beta 版本。两者是一对完美的搭档,已经在大量的应用程序中投入生产,包括 Basecamp Breeze。事实上,Ruby 2.0 是用于 Rails 4.0 的首选 Ruby。

此 Beta 版的目的是让尽可能多的人尝试从 Rails 3.2 及更早版本进行升级,并让一些敢于冒险的人直接在 Rails 4.0 上启动新应用程序。这是我们找出所有问题并确保我们能推出一个坚固的最终版本的唯一途径。所以,如果您能够的话,请帮助我们!

Rails 4.0 充满了新功能,并与已经过期的旧功能挥手告别。

一个重点是通过使用 基于密钥到期 使构建快速且无需采用客户端 JS/JSON 服务器路径的现代 Web 应用程序变得超级简单。大部分这项工作是在新版 Basecamp 中 为 Rails 开创 的,其重点是三个方面

  1. 通过具有自动管理嵌套模板依赖关系的 基于密钥到期,使得进行 Russian Doll 缓存变得超级轻松(首先在 cache_digests 插件中进行了探索)。
  2. 通过 Turbolinks 加快客户端速度,它从速度方面将您的应用程序基本转变为单页面 JavaScript 应用程序,但没有任何开发缺陷(除了可能与一些现有 JavaScript 包存在兼容性问题)。
  3. 声明式 e 标签 使得确保您充分利用 HTTP 新鲜度变得更加轻松。

对于想要构建客户端 JS 视图的人来说,Rails 当然仍然是一个伟大的 JSON 服务器,但借助我们在 Rails 4.0 中取得的进展,您肯定不必走那条路来获得一个超快速的应用程序。

我们还添加了 持久连接的实时流,而开箱即用的 Rails 4.0 现在对多线程服务器是安全的(无需 config.threadsafe!)。

Active Record 也得到了大量的关注,以使与作用域和查询结构相关的所有内容都更加一致。

鉴于我们对安全性问题进行了大量的讨论,我们也有一些更新

  • 现在会话存储默认是加密的(以前仅仅是有签名的)。
  • 强参数 从 attr_protected 接管(现在是 一个插件),以防止外部参数。
  • X-Frame-Options、X-XSS-Protection 和 X-Content-Type-Options 等安全标头默认启用,并具有强有力的值。
  • XML 参数解析已发送到 一个插件

除了这些新特性和修正之外,我们还有更多这样的特性。任何东西都经过梳理、简化和简化,并且我们已经提取出了大量的过期 API 和那些不符合“大多数时间大多数人”的东西。

Active ResourceActive Record Observers、Action Pack pageaction caching 是已经不再属于核心内容的一些示例,但插件中仍然有这些东西。

我们建议您仔细阅读所有 Rails 框架的 CHANGELOG,并欣喜于我们在 Rails 4.0 中做出的数百项改进:Action PackActive ModelActive RecordActive SupportRails

现在让我们共同努力,确保版本最终完成,并享受 Ruby on Rails 24 的出色组合!(或 42?). 请在 Rails issue 跟踪器 上报告您发现的所有问题。我们仍在制定从 3.2 到 4.0 的 升级指南,但那是帮助您了解如何执行此任务的一个好地方。与往常一样,请使用 gem install rails --version 4.0.0.beta1 --no-ri --no-rdoc(在 RubyGems 2.0 上的预生成和 ri 生成目前已失效)安装测试版或使用 v4.0.0.beta1 标签