This is a "stateful" type processing, and you can do redirects after each submit. Also you can keep track of the time of the last state, and then use rufus-scheduler to run a cleanup task from time to time.
There is also a call in rails to let you redirect on the server, so on the submit of step 1, you redirect to the beginning of step 2.
You must also thing of the condition where the user stops in the middle.
Rails after all is stateless, so your state should be in a table somewhere. Also depending on your implementation your step 1 etc may actually run in a different mongrel process if your doing load balancing.
If you need help, drop me a line.