title: Rails: Multi-Step New User Signup Form (FSM?)
body: <p>I've read the &quot;Create Multi-Step Wizard&quot; in <a href="http://www.pragprog.com/titles/fr_arr/advanced-rails-recipes" rel="nofollow noreferrer">Advanced Rails Recipes</a>. I've also read and re-read the documentation for the updated FSM I'm using called <a href="http://github.com/geekq/workflow" rel="nofollow noreferrer">Workflow</a>, and looked <a href="http://blog.aizatto.com/2009/12/07/ruby-on-rails-finite-state-machine-plugin-workflow/" rel="nofollow noreferrer">here</a> and <a href="http://blog.envylabs.com/2009/08/the-rails-state-machine/" rel="nofollow noreferrer">here</a>. The Advanced Rails Recipe focuses on records (quizzes) that already exist, and doesn't cover creating new ones. The Workflow docs don't cover any code for controllers or views, so I've no idea what to do with all this model magic, and the last two links barely touch on implementation either. From the aforementioned resources, I have a good understanding of what a FSM in Rails is and how to play with it in the console or IRB, but I've got very little direction or understanding how to implement one into my Rails app.</p>
  <p>What I would like is this: a simple, multi-step user signup process.</p>
  <blockquote>
  <p>Step 1: User enters in their critical
  details (with validations).</p>
  <p>Step 2: User enters in their search
  criteria, for their profile (with
  validations).</p>
  <p>Step 3: User agrees to the Terms of
  Service (with validations).</p>
  <p>Step 4: User is greeted by a
  confirmation page, including a link
  that takes them to their newly created
  account.</p>
  </blockquote>
  <p>I'd also like full navigation between the steps and full capture (saves to the database) with each transition.</p>
  <p>Can someone please give me a clear implementation of something similar to this? I would LOVE an example app that includes a multi-step signup process where I can look at the code (FULL source code--models AND controllers and views) under the hood, but I've been unable to find anything like that.</p>
  <p>Any guidance would be appreciated!</p>