Каковы лучшие практики (или обычные практики), когда дело доходит до добавления дополнительных шагов в процесс в Rails?
Например, я работаю с платформой электронной коммерции Spree Rails и хочу добавить многоэтапную форму. люди должны заполнять при попытке «Добавить в корзину» продукт.
Текущая реализация добавления продукта в корзину в основном выглядит следующим образом:
ProductsController#show -> OrdersController#edit
Это добавляет продукт в корзину и оставляет вас в корзине.
Поэтому мне интересно, чтобы максимально-минимально изменить основной код в веселье, как мне сделать так, чтобы процесс был больше похож на этот:
ProductsController#show -> SurveysController#show -> (survey stuff...) -> OrdersController#edit
Что я думаю сделать, это:
- измените "products/show.html.erb", чтобы он переходил в Surveys_controller.rb. Также измените products_controller.rb, чтобы поместить
session[:redirect_to] = order_checkout_path
, что я могу обработать в SurveysController. - или просто сделайте эти дополнительные всплывающие окна, и когда я доберусь до последнего, вызовите исходный метод.
Что в этом плохого? Какой подход лучше? В более общем плане это вопрос о том, как люди занимаются архитектурой многошаговых процессов, не изменяя основной код. Не мастер, а просто добавление дополнительных элементов в середине других.
Спасибо за помощь, Ланс