通过在 Rails 0.11.0 中包含 Ajax 帮助器,我们解决了阻碍大规模 Ajax 使用的最重要问题:手动编写 DHTML。手动操作 DOM 是一个劳动密集且容易出错的过程,充满了挫败感和跨浏览器兼容性问题。借助 Rails 中的 Ajax 支持,编写手动的 Javascript/DHTML(几乎)成了过去的事情。
通过 少量帮助器标签,我们展示了一种方法,该方法依赖于客户端的最低限度支持(XMLHttpRequest 和 innerHTML),同时将页面片段的生成卸载到 ERb 和 Builder 模板等熟悉的构造中。这意味着你将使用所有熟悉的工具构建 Ajax 集成,并安全地将 Javascript/DOM 魔术卸载到 Rails 帮助器和 库。
山姆·史蒂芬森(聘用他!)在将我微不足道的 Javascript 尝试转化为一个完全面向对象的库方面一直是幕后的建筑师,Rails 帮助器调用该库来完成其肮脏的工作。他还制作了一个视频,展示他如何在短短几分钟内 将创建表单转换为 Ajax。虽然这看起来可能有点复杂,但主要是应用程序山姆集成了控制器生成 URL 的功能,这在正常情况下并不是这样的。
尽管 Ajax 支持当然就是此次发布的明星,但我们还有更多。另一个山姆·史蒂芬森的优点是 分页 支持,它允许你通过组合控制器端和视图端的页面和导航支持来无缝地将列表结果分散到多页上。
另外值得注意的是,Rails 应用程序不再需要自己的虚拟主机才能轻松设置。现在可以从现有层次结构下的公共目录创建符号链接,因此你的应用程序可以在 /community/hieraki 中的 hieraki 下运行。这应该会大幅简化安装和分发需要驻留在共享服务器上的应用程序。如果你想让自己的应用程序与虚拟主机无关,请查看 AssetTagHelper,它将自动为图像、样式表等创建正确的路径。
Action Mailer 在此版本获得了内置能力。通过实现 receive(email) 方法,您可以从 fx 后缀定位您的 Action Mailer 并使之处理传入电子邮件。我们甚至增强了 TMail 以使其能够轻松处理国际电子邮件(自动转换为UTF-8)和处理文件附件。参见“自述文件”中的示例并查看演练。
最重要的是,有一个用于方便从CRON调用您的 Rails 域模型的新脚本/运行程序,有一个新的 Flash 模块,还有一个数据库无关的限制/偏移,还有一大堆修复、增强和调整。
在Rails、Active Record、Action Pack、Active Support、Action Mailer和Action Web Service的变更日志中查看所有变更。
更新:如果您来自 Rails 0.10.1,只需在您的应用程序的根目录中运行rails . --skip
即可获取新文件。您无需更改任何代码。然而,由于 Flash 模块的升级,您将需要清除所有会话!