3

我正在尝试根据先前选择的选择来更改 wicked 向导中的步骤顺序。

所以目前我有所有的步骤:

class WWTestController < ApplicationController
  include Wicked::Wizard
  steps :first_page,:optional_page,:second_page

   def show
     @event_object = EventObject.find(params[:event_object_id])

     render_wizard
   end

   def update
     @event_object = EventObject.find(params[:event_object_id])
     @event_object.update_attributes(event_object_params)

     render_wizard @event_object
   end

   private

   def event_entry_params
    params.fetch(:event_object, {}).permit(:choice_a)
   end

end

我只想包括步骤:optional_page如果他们有选择:choice_a 等于 2。我尝试了各种配置,但我遇到的真正问题是如果他们回到:firstpage并更改步骤并不总是正确的。我相信有人对此有很好的方法,任何帮助将不胜感激!!!

4

1 回答 1

3
  def show
    @event_object = EventObject.find(params[:event_object_id])

    # Extra logic based on flow steps - when to skip sth.
    case step
    when :optional_page
      skip_step unless @event_object.choice_a == 2
    end

    render_wizard
  end
于 2014-10-19T20:33:51.373 回答