Ruby on Rails 6.0 正式版现已发布,比预计原定日期推迟了将近 4 个月时间,Rails 团队表示他们花费了大量时间检查 Rails 6 的可靠性。在此之前,Rails 6 的预览版早已在 GitHub, Shopify 和 Basecamp 等公司及其应用上的生产环境中运行了好几个月。此次正式版本发布除了修复和改进之外,还有 Action Mailbox,Action Text,Parallel Testing,多数据库支持等特性更新。
Action Mailbox :允许将传入的电子邮件路由到类似于控制器的邮箱,以便在 Rails 中进行处理。它为 Amazon se、Mailgun、Mandrill、邮戳和 SendGrid 提供了入口,还可以通过内置的 Exim、Postfix 和 Qmail 入口直接处理入站电子邮件。
Action Text :使 Rails 具备富文本内容展示及编辑功能。它还包括 Basecamp 的 Trix 编辑器,由它创建的任何富文本内容都保存在它自己的 RichText 模型中,该模型与应用程序中任何现有的活动记录模型相关联。嵌入式图像和其他附件使用活动存储来存储,并与 RichText 模型相关联。
多数据库支持:该功能通过 Active Record 中的一个新 API 实现,该 API 可以在多个数据库之间切换连接。这意味着现在可以将某些记录分割到它们自己的数据库中,以便进行扩展或隔离。开发者借此可方便地让一个单一的应用程序在同一时间连接到多个数据库。
并行测试支持:该特性允许并行化测试套件,减少运行测试套件所需的时间,并帮助用户充分利用 CPU 内核。分叉进程是默认的技术,但是也支持线程。
其他改进:在 ES6 中重写了 Action Cable JavaScript,改进了 Action Cable 测试和 DNS 重新绑定攻击保护。此外,新的 Rails 版本现在需要 Ruby 2.5 版本支持。
更多详情请参阅发布公告。