用于 Inertia.js 的 Rails 适配器。
Inertia 允许您在不使用任何服务器端渲染的情况下构建完全基于客户端渲染的单页面应用程序。 独立 API 的复杂性。将数据从 Rails 直接传输到 React、Vue 或其他应用程序。 使用 Svelte 作为 props — 没有 REST 端点、GraphQL 也无客户端数据 不需要进行状态管理,无需头痛的操作。
# app/controllers/users_controller.rb
class UsersController (
<>
{users.map((user) => (
))}
)
export default Users这就是整个循环:控制器返回 props,组件对其进行渲染。 链接和表单提交会被拦截并转换为 XHR 访问,因此导航行为也会被记录 感觉很方便 — 但你仍然在服务器上编写普通的 Rails 代码。
添加到现有的 Rails 应用 — 安装程序会设置 Vite、您选择的框架以及示例页面:
或者从一个套件开始,其中已配置了身份验证、Vite、可选的 SSR 和 Kamal 部署:
|---|---| | 可用的表单 | 验证错误会自动从 Rails 流向您的组件 - 无需手动配置。 | | 服务器端渲染 | 完整的 SSR 可用于 SEO 和快速首次渲染。您的 React/Vue/Svelte 由 Rails 进行渲染。 | | 与 Rails 相同的测试 | 具有本机感的 RSpec 和 Minitest 匹配器。可以对属性、组件等进行断言。 | | 部分重载 | 仅刷新需要的数据。在不进行全页面加载的情况下保持交互流畅。
暂无开放 Issues,或尚未同步最近议题。