Wicked Wizard динамический порядок шагов

Я пытаюсь изменить порядок шагов в злом мастере на основе выбора из предыдущего выбора.

Так что в настоящее время у меня есть все шаги:

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

Я хочу включить только шаг :option_page, если у них есть selection : choice_a, равный 2. Я пробовал различные конфигурации, но реальная проблема, с которой я сталкиваюсь, заключается в том, что они возвращаются на первую страницу и меняют шаги не всегда правильно. Я уверен, что у кого-то есть хороший подход к этому, любая помощь будет принята с благодарностью!!!

1 ответ

  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
Другие вопросы по тегам