Multi-step wizard navigation with Turbo Frames

3020
0

Wizards are often over-engineered with client state machines. With Turbo Frames, I render each step inside a frame, and the “Next” button simply POSTs to update the record and then redirects to the next step URL. If validation fails, I re-render the same step with 422 inside the frame. The outer page (header/sidebar) stays stable, and only the step content swaps. This is great for onboarding flows because you keep everything in Rails forms and validations. I also like to store progress in the DB so the user can resume on another device. The only real design rule is: each step should be a normal resource route and produce bookmarkable URLs.