Не успокаивающие действия в контроллере Wicked Wizard

Можете ли вы иметь не успокаивающие методы в контроллере, который включает гем WickedWizard?

Контроллер:

class Books::BookUpdateController < ApplicationController

  include Wicked::Wizard
  steps :title_step,  :ai_archive_step, :ai_override_step #etc

   def show
      ...
   end

   def update
      ...
   end

   def waterfall
      ...# loads of code to set up instance variables in the view, which I don't want to have to include in the normal show action for all the wizard steps. 
   end
end

Маршруты:

resources :book_update do     
  member do
    get 'waterfall'
    ... and others 
  end
end

Версия 1 и более ранняя версия драгоценного камня допускает не успокаивающие действия, но этот коммит разрешает этот PR устанавливает имена шагов. Моя ошибка при переходе по этому маршруту http://localhost:3000/book_update/3949/waterfall

Wicked::Wizard::InvalidStepError in Books::BookUpdateController#waterfall

The requested step did not match any steps defined for this controller.

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


person snowangel    schedule 14.01.2014    source источник
comment
Поскольку вопрос связан с функцией / ошибкой драгоценного камня, я думаю, что было бы лучше отправить проблему или PR непосредственно в гем, чтобы быстрее получить помощь.   -  person Billy Chan    schedule 14.01.2014
comment
Ну, я чувствую себя немного плохо, потому что мне, вероятно, следует поддерживать RESTful. На самом деле, это мой недостаток, а не самоцвет.   -  person snowangel    schedule 14.01.2014
comment
Я не знаком с этой жемчужиной. Но в некоторых случаях все же нужны не успокаивающие вещи. Может быть, у сопровождающего есть лучшее мнение по этому поводу.   -  person Billy Chan    schedule 14.01.2014
comment
Я считаю, что Wicked использует id для получения шага, поэтому проверка того, содержит ли массив steps переданный id в show действие, затем рендеринг соответственно может быть вариантом.   -  person vee    schedule 14.01.2014
comment
Ох, мне это нравится. Та - я доложу позже.   -  person snowangel    schedule 14.01.2014


Ответы (1)


Вам необходимо добавить:

skip_before_filter :setup_wizard, only: :waterfall

в твоем злом контроллере

person BroiSatse    schedule 14.01.2014
comment
О, ты абсолютная красавица! - person snowangel; 14.01.2014