All threads / How to build a wizard
Ask A Question


You’re not receiving notifications from this thread.

How to build a wizard

Philipp Baumann asked in Rails

Hi Chris

Something I'd love to see a video on is on how to build a wizard. I find this not that simple and would love to see how you solve these kind of issues, like in an onboarding process (or any other process):

  • How and where to check weather the user has to go through an onboarding wizard (e.g. first time user)
  • How to lock down the application, that the user is forced to complete the wizard
  • Where to manage state (which wizard step is the user on)
  • How to prevent the user from jumping / skipping a necessary step
  • Allowing the user to return a step and come back (but not jump a step ahead)


I like that idea. Honestly for most wizard things, I have used Wicked ( just about every time. It controls the steps for you and stores them on the model so it remembers the location and everything.

I'd probably still recommend Wicked, but it'd be great to do a basic walkthrough of how you'd implement this from scratch too.

Hi Chris, I‘m familiar with the Wicked gem, bit still I didn‘t find it that easy. A screencast would be excellent, I‘m sure this would be a topic that I‘m not the only one being confronted with.

I third this. All in favor say aye?

Edit: After a lot of “trying to wrangle together” a complex wizard using wicked, I finally gave up and built my own. Pretty happy with the outcome (so far.) would still love to see both with wicked (more complex than scoping to user) and rolling your own.

Join the discussion

Want to stay up-to-date with Ruby on Rails?

Join 64,380+ developers who get early access to new tutorials, screencasts, articles, and more.

    We care about the protection of your data. Read our Privacy Policy.

    logo Created with Sketch.

    Screencast tutorials to help you learn Ruby on Rails, Javascript, Hotwire, Turbo, Stimulus.js, PostgreSQL, MySQL, Ubuntu, and more. Icons by Icons8

    © 2022 GoRails, LLC. All rights reserved.