HeadlinesBriefing favicon HeadlinesBriefing.com

Rails 8 指南:功能、要求和升级路径(2026)

Hacker News •
×

Rails 8.0 于 2024 年 11 月 7 日发布,要求 Ruby 3.2.0 或更高版本。主要功能包括:内置认证生成器、Solid Queue/Cache/Cable(基于数据库,无需 Redis)、Kamal 2 + Thruster 部署、Propshaft 和生产级 SQLite。Rails 8.1(2025 年 10 月)是当前版本;Rails 8.0 现在仅接收安全修复,直到 2026 年 11 月。

Rails 8.0 和 8.1 都要求 Ruby 3.2.0 或更高版本。rails gem 通过其 gemspec 强制执行此要求,因此在 Ruby 3.1 或更早版本上 gem install rails 会失败。实际上,您会希望使用比最低要求更新的 Ruby:当前的 Ruby 3.4 系列为您提供 YJIT 改进和最长久的 Ruby 安全补丁支持。截至 2026 年 8 月,Rails 8.0 处于最后阶段:它仅接收安全修复,这些修复将于 2026 年 11 月 7 日停止。7.1 和 7.2 都已完全不在支持列表中。

Rails 8 将认证组件整合到一个生成器中。一个命令即可搭建完整的基于会话的认证系统,包括基于数据库的会话和密码重置。生成器创建模型、控制器、邮件程序和视图。由于生成的代码位于您的应用程序中,您可以阅读和修改每一行。没有引擎隐藏会话逻辑,这使得生成器成为那些以前习惯性使用 Devise 的团队的强大默认选择。

Rails 8 减少了典型生产应用所需的服务数量。作业队列、缓存和发布/订阅消息传统上意味着在关系数据库旁边运行 Redis。Rails 8 用三个基于数据库的适配器取代了这一点,这些适配器默认安装在新应用中:Solid Queue、Solid Cache 和 Solid Cable。Solid Queue 是新的默认 Active Job 后端,使用 FOR UPDATE SKIP LOCKED 进行高效作业分发。它在 HEY 每天运行 2000 万个作业。Solid Cache 使用磁盘存储支持 Rails.cache,Solid Cable 是生产环境中默认的 Action Cable 适配器。