用途:该技能用于从零到生产构建 Rails + Inertia.js 应用,覆盖完整生命周期,包括环境搭建、页面、表单、验证、共享数据与认证。
主要能力:Inertia 作为 Rails 与现代 JavaScript 框架(React、Vue、Svelte)之间的桥梁,允许用传统服务端路由和控制器构建 SPA,无需客户端路由或独立 API。控制器通过 render inertia: 'Users/Show', props: { user: user.as_json } 返回 Inertia 响应,数据以 props 形式流向 JS 组件。路由仍写在 config/routes.rb,Inertia 拦截链接点击与表单提交,发起返回组件名与 props 的 XHR 请求,客户端替换组件而不整页刷新。默认按约定解析组件,如 UsersController#show 中 render inertia: { user: } 对应 app/frontend/pages/users/show.(jsx|vue|svelte),也可显式指定组件名。验证遵循传统 Rails 模式:失败时重定向返回,错误通过 flash 作为 props 共享,表单状态自动保留。可用 inertia_share 提供全局数据(current_user、flash、通知),但会包含在每个响应中,应谨慎使用。
使用方式:技能包含参考文档(setup.md、responses.md、forms.md、validation.md、shared-data.md、links.md、testing.md、cookbook.md)与工作流(setup-inertia.md、create-page.md、build-form.md、shared-data.md、navigation.md、debug-inertia.md、testing.md、partial-reloads.md),按工作流逐步执行。
适用场景:新建或迁移 Rails + Inertia 项目、创建页面与组件、构建带验证的表单、共享认证与 flash 数据、处理重定向与导航、调试 Inertia 问题、测试控制器、用局部重载优化。
限制:资料未提供具体版本要求、依赖安装命令、收费或平台信息;部分内容以占位符呈现,实际细节需参考对应文件。