在 Rails 的流程中添加更多步骤时,最佳实践(或常规实践)是什么?
例如,我正在使用Spree 电子商务 Rails 平台,我想添加一个人们在尝试“添加到购物车”产品时应该填写的多步骤表单。
当前将产品添加到购物车的大礼包实现基本上是:
ProductsController#show -> OrdersController#edit
这会将产品添加到购物车中,然后将您留在购物车中。
所以我想知道,为了尽可能少地更改 spree 中的核心代码,我该如何做到这一点,所以过程更像这样:
ProductsController#show -> SurveysController#show -> (survey stuff...) -> OrdersController#edit
我想做的是:
- 修改“products/show.html.erb”,使其进入surveys_controller.rb。还将 products_controller.rb修改为 put
session[:redirect_to] = order_checkout_path
,我可以在 SurveysController 中处理它。 - 或者只是弹出那些额外的东西,当我到达最后一个时,让它调用原始方法。
那有什么问题?什么是更好的方法?这是一个关于人们如何在不修改核心代码的情况下构建多步骤流程的问题。不是巫师,只是在其他事情中间添加额外的东西。
谢谢你的帮助,兰斯