RailsHotwire开发技能Skill rails-hotwire

此技能提供 Ruby on Rails 中 Hotwire 框架的最佳实践指南,用于构建高性能、交互式 Web 应用。涵盖 Turbo Drive、Turbo Frames、Turbo Streams、Turbo 8 形态变换和 Stimulus 控制器的使用,优化导航、部分页面更新、实时广播、错误处理和渐进增强。关键词:Rails, Hotwire, Turbo, Stimulus, 交互式应用, 实时更新, 前端优化, Web 开发, 最佳实践。

前端开发 0 次安装 0 次浏览 更新于 3/18/2026

name: rails-hotwire description: Ruby on Rails Hotwire 最佳实践,用于使用 Turbo Drive、Turbo Frames、Turbo Streams、Turbo 8 形态变换和 Stimulus 控制器构建交互式应用。此技能应用于编写、审查或重构基于 Hotwire 的 Rails 代码,以确保导航、部分页面更新、实时广播、形态变换、Stimulus 控制器设计、错误处理和渐进增强的最佳模式。触发任务涉及 Turbo Frames、Turbo Streams、Turbo Drive、广播、形态变换、Stimulus 控制器、ActionCable、turbo_stream_from、turbo_frame_tag、data-controller、data-action 或 Hotwire 性能。与 rails-dev、rails-testing、rails-design-system、ruby-optimise 和 ruby-refactor 技能互补。

社区 Rails Hotwire 最佳实践

用于使用 Hotwire(Turbo + Stimulus)构建交互式 Rails 应用的全面指南,由社区维护。包含 9 个类别中的 53 条规则,按影响优先级排序,以指导自动化重构和代码生成。遵循 DHH “一人框架” 哲学:服务器渲染 HTML,Turbo 使其感觉像单页应用,Stimulus 在需要时添加 JavaScript 点缀。

何时应用

参考这些指南当:

  • 配置 Turbo Drive 导航、预取和缓存行为
  • 添加 Turbo Frames 用于部分页面更新和延迟加载
  • 交付 Turbo Streams 用于精确 DOM 变更
  • 通过 ActionCable 广播实时更新
  • 启用 Turbo 8 形态变换用于页面刷新
  • 编写 Stimulus 控制器用于客户端行为
  • 处理 Turbo 导航、帧和 WebSocket 连接中的错误
  • 在 Drive、Frames、Streams、形态变换和 Stimulus 之间选择
  • 在系统和集成测试中测试 Hotwire 交互

按优先级分类的规则类别

优先级 类别 影响 前缀
1 导航与 Drive 关键 drive-
2 Turbo Frames 关键 frame-
3 Turbo Streams stream-
4 广播与实时 bcast-
5 形态变换与页面刷新 morph-
6 性能优化 中高 perf-
7 Stimulus 模式 中高 stim-
8 架构决策 arch-
9 测试 Hotwire test-

快速参考

1. 导航与 Drive(关键)

2. Turbo Frames(关键)

3. Turbo Streams(高)

4. 广播与实时(高)

5. 形态变换与页面刷新(高)

6. 性能优化(中高)

7. Stimulus 模式(中高)

8. 架构决策(中)

9. 测试 Hotwire(中)

如何使用

阅读个别参考文件以获取详细解释和代码示例:

参考文件

文件 描述
references/_sections.md 类别定义和排序
assets/templates/_template.md 新规则的模板
metadata.json 版本和参考信息