Break something on purpose
Stop the Rails server and try to add a task: the UI shows the error state instead of failing silently.
React on Rails · OSS Flagship Demo
A real CRUD app, server-rendered by Rails. The board below arrives as HTML
from the server (prerender: true), then React 19 hydrates it and a
Redux Toolkit store takes over. ActiveRecord owns the data; React owns the UI.
Stop the Rails server and try to add a task: the UI shows the error state instead of failing silently.
https://reactonrails.com - SSR, auto-registration, and the full configuration reference.
Use the form above. The thunk POSTs to /api/tasks and the slice reconciles the server response.
Status changes PATCH /api/tasks/:id. Errors roll back and surface in the banner.
This very list arrived as HTML from Rails. View source: the markup is there before any JavaScript runs.
The same props that fed SSR seed the Redux store, so the client picks up exactly where the server left off.
Server-rendered by Rails at 2026-06-20T01:36:08Z — view the page source: this board is in the HTML before any JavaScript runs.