# Acts\_as\_wizard clone

**URL:** <https://www.ruby-forum.com/t/acts-as-wizard-clone/107361>\
**Category:** Rails\
**Created:** [June 20, 2007, 9:47pm UTC](https://www.ruby-forum.com/t/acts-as-wizard-clone/107361 "2007-06-20T21:47:38Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![casper\_the\_ghost](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/58956e/32.png) [@casper\_the\_ghost](https://www.ruby-forum.com/u/casper_the_ghost)\
**Post date:** [June 20, 2007, 9:47pm UTC](https://www.ruby-forum.com/t/acts-as-wizard-clone/107361/1 "2007-06-20T21:47:38Z")

</div>

Is there an ‘acts\_as\_wizard’ clone that provies similar  
functionality ? The original plugin seems to be in an unmaintained  
state and doesn’t work with Rails 1.2

---

<div class="post-metadata">

**Author:** ![casper\_the\_ghost](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/58956e/32.png) [@casper\_the\_ghost](https://www.ruby-forum.com/u/casper_the_ghost)\
**Post date:** [June 24, 2007, 8:26am UTC](https://www.ruby-forum.com/t/acts-as-wizard-clone/107361/2 "2007-06-24T08:26:29Z")

</div>

Just to clarify - I am trying to implement multi-step forms.

---

<div class="post-metadata">

**Author:** ![casper\_the\_ghost](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/58956e/32.png) [@casper\_the\_ghost](https://www.ruby-forum.com/u/casper_the_ghost)\
**Post date:** [June 26, 2007, 10:00pm UTC](https://www.ruby-forum.com/t/acts-as-wizard-clone/107361/3 "2007-06-26T22:00:30Z")

</div>

:ahem … is my question undeserving of a reply ?? is it something  
obvious I am missing in Rails

---

<div class="post-metadata">

**Author:** ![casper\_the\_ghost](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/58956e/32.png) [@casper\_the\_ghost](https://www.ruby-forum.com/u/casper_the_ghost)\
**Post date:** [June 26, 2007, 10:10pm UTC](https://www.ruby-forum.com/t/acts-as-wizard-clone/107361/4 "2007-06-26T22:10:31Z")

</div>

On 26-Jun-07, at 3:59 PM, removed\_email\_address@domain.invalid wrote:

> > > functionality ? The original plugin seems to be in an unmaintained  
> > > state and doesn’t work with Rails 1.2

no IG. there’s not always the collective bandwidth to answer all  
questions. grin.

I’ve never used this plugin, but was relatively easy to implement

I suggest DIY

- first carry a column to hold the current wizard stage - I called  
mine ‘stage’

- then when you render use the stage number as part of the partial name.

- render :partial =\> “wizard\_stage\_#{@encounter.current\_stage}”

- next will increment the stage, previous will decrement.

- then name your partials with an \_x for the appropriate stage.

BTW, The advantage of storing stage are that you can support the  
resumption of the wizard.

As an additional thought you can have stage specific field  
validations by checking the stage value:

validates\_presence\_of :age, :if =\> :at\_stage\_two, :message =\> "  
must be entered"

the above should be enough to get you moving forward.

cheers,  
Jodi
