随着 Rails 0.11.0 中加入 Ajax 助手,我们解决了阻碍大规模 Ajax 使用的最主要问题:手动编写 DHTML。手动操作 DOM 是一个耗时且容易出错的过程,充满了挫败感和跨浏览器兼容性问题。有了 Rails 中的 Ajax 支持,手动编写 Javascript/DHTML(几乎)已成为过去。
通过 一系列助手标签,我们公开了一种方法,该方法依赖于客户端(XMLHttpRequest 和 innerHTML)的最少量支持,同时将页面片段的生成转移到熟悉的 ERb 和 Builder 模板等结构中。这意味着您将使用所有熟悉的工具来构建 Ajax 集成,并将 Javascript/DOM 的魔力安全地委托给 Rails 助手和 库。
Sam Stephenson(雇佣这个人!)是将我粗浅的 Javascript 尝试转化为 Rails 助手调用的、用于完成繁重工作的面向对象库的架构师。他还制作了一个视频,演示了他如何在短短几分钟内 将一个创建表单转换为 Ajax。虽然这看起来可能有点复杂,但主要是因为 Sam 集成的应用程序允许控制器生成 URL,而这通常并非如此。
虽然 Ajax 支持无疑是本次发布的最大亮点,但我们还有更多内容。Sam Stephenson 的另一项绝活是 分页 支持,它允许您通过结合控制器端和视图端的分页和导航支持,无缝地将列表结果分散到多个页面。
另外值得注意的是,Rails 应用程序不再需要自己的虚拟主机即可轻松设置。现在可以将公共目录从现有层级下方的目录符号链接,这样您的应用程序就可以位于 /community/hieraki 下的层级中。这应该会大大简化需要驻留在共享服务器上的应用程序的安装和分发。如果您想让自己的应用程序与虚拟主机无关,请查看 AssetTagHelper,它将自动为图像、样式表等创建正确的路径。
Action Mailer 在本次发布中增加了入站功能。通过实现 receive(email) 方法,您可以从 fx postfix 定向您的 Action Mailer 并让它处理入站电子邮件。我们甚至增强了 TMail,使其易于处理国际电子邮件(自动转换为 UTF-8)和文件附件。请参阅 README 中的示例,并 查看说明。
除此之外,还有一个新的 script/runner,可以方便地从 CRON 调用您的 Rails 领域模型;有一个 新的 Flash 模块;实现了数据库无关的 limit/offset;以及大量的修复、增强和调整。
请参阅 Rails、Active Record、Action Pack、Active Support、Action Mailer 和 Action Web Service 的变更日志中的所有更改。
更新:如果您是从 Rails 0.10.1 更新,只需在应用程序根目录下运行 rails . --skip 即可获取新文件。您不应该需要更改任何代码。不过,由于 Flash 模块的升级,您需要清除所有会话!