¿Cómo creo un asistente conciso y RESTful en MVC?

Intento ser lo más RESTANTE posible en la creación de aplicaciones, pero una cosa de la que nunca estoy seguro es cómo crear un flujo de trabajo de tipo asistente, ser RESTful y conciso.

Tome, por ejemplo, un proceso de registro de varias páginas.

Opción 1 Puedo crear un controlador para cada paso y llamar a nuevo o editar cuando el usuario llega a ese paso (o vuelve a él). Termino con step1_controller, step2_controller, etc ...

Opcion 2 Puedo crear un controlador y rastrear dónde están en el proceso de registro con un parámetro, variable de sesión, máquina de estado, lo que sea. Entonces tendría signup_controller / step? Id = 1

La primera opción es estrictamente REST, pero no muy concisa y termina con un cierto número de controladores adicionales. La segunda opción es más concisa, pero rompe REST, que estoy dispuesto a hacer, pero no lo tomo a la ligera.

¿Hay alguna opción mejor

Estoy trabajando en Ruby on Rails, pero esta pregunta se aplica a otras implementaciones de MVC, como ASP.NET MVC

Respuestas a la pregunta(3)

Su respuesta a la pregunta