用途:在 Inertia Rails 应用中构建表单,处理验证、文件上传与错误反馈,支持 React、Vue 3 与 Svelte。
主要能力:useForm 助手提供响应式表单状态,含 data、errors、hasErrors、processing、progress、wasSuccessful、recentlySuccessful、isDirty 等属性,以及 setData、reset、clearErrors、setError、transform、defaults、get/post/put/patch/delete、cancel 等方法。提交选项支持 preserveState、preserveScroll、headers、forceFormData、errorBag 与 onBefore/onStart/onProgress/onSuccess/onError/onCancel/onFinish 回调。含文件时自动转为 FormData,可显示上传进度;PUT/PATCH 上传可用 _method 伪装。支持嵌套数据(点号或 Rails 括号写法)、同页多表单 errorBag 隔离、transform 提交前转换、声明式 Form 组件、useFormContext、Precognition 实时服务端验证、useRemember 记忆表单状态、useHttp 独立请求,以及 v3 乐观更新与失败自动回滚。
使用方式:前端用 useForm 初始化字段并绑定输入,提交时调用 post 等方法;Rails 控制器遵循 PRG 模式,成功重定向,失败时以 inertia: { errors: user.errors } 回传错误。Precognition 需在 config/initializers/inertia_rails.rb 中配置 config.precognition_prevent_writes = true。
适用场景:Inertia Rails 项目的创建、编辑、登录注册、搜索、点赞等表单与交互。
限制:资料未提供安装命令、版本要求、收费与性能数据;部分示例代码在原文中不完整。