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