Hi Ruby on Rails folks, I wrote ActionSequence (http://github.com/boof/action_sequence/tree/master ) for my company to better handle multipage forms. It comes with a DSL for creating a sequence. Example ====== class LinksController before_filter :link_persistence_implementation #... sequence :link_wizard do # 1. Step enter_description { |s| s.next if @link.valid? :description } # 2. Step enter_path do |s| if params[:back] then s.previous elsif @link.valid? :shortcut then s.next end end # 3. Step select_target do |s| if params[:back] then s.previous elsif @link.valid? :path and @link.save then s.next end end end def new walk_link_wizard_sequence :enter_description end def edit walk_link_wizard_sequence :enter_description end before_filter :walk_link_wizard_sequence, :only => [:create, :update] def create unless link_wizard_sequence.finished_with? @step render :action => :new else redirect_to link_path(@link) end end def update unless link_wizard_sequence.finished_with? @step render :action => :edit else redirect_to link_path(@link) end end end I hope this source is more or less self-explanatory. The step, if not otherwise defined, is placed in @step. It''s identified by params[:step]. You can select another walker variable by passing a second argument to the builder, for example `sequence :another, :page`. In this case the step is stored in @page and identified by params[:page]. By default the first step is choosen. A step has a name, for example :enter_description and an index (here: 1) which can be used in your view to select a partial. The plugin should be fairly easy to hack to fit your needs. Cheers Florian Source on GitHub: http://github.com/boof/action_sequence/tree/master I work @ Fork Unstable Media GmbH - we hire! TODO ===* Documentation --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---