简短版:有哪些好方法可以让最终用户在相当大的项目中定义“流程”或按顺序执行 CRUD 操作,以便他们可以为常见流程构建模板(例如为每个自动发布的新事件创建 2 张票)?像Cucumber之类的东西,但对于 CRUD 操作......,甚至是Selenium?
情况如下:
我继承了一个非常大的项目(Spree 电子商务项目),我正在为客户进行修改。这是一个非常复杂且做得非常好的项目。大多数/所有用于创建、、、类别等的工作流程Products
都ProductGroups
定义得非常好,这意味着它们可以自动化。
所以我的客户希望能够说“当我创建一个新的时Event
,我希望它也创建这个:
- 两张门票:一张 400 美元,一张 500 美元,在我们创建活动后 X 和 Y 时间开始销售
- 如果是这个
Event
,也制作这个“早起的鸟”特辑。”
这转化为create/save
Spree: 中的 4 个,也许更多的模型Event, Product, ProductGroup, ProductProperty
。
如果我要手动解决这种边缘情况,我将不得不编写大量代码并进行一些认真的重构(或复制粘贴),以便我的客户可以为他们创建的每个事件创建票证。但是下一个案例呢,“我希望它根据事件、和将每个 Ticket 归类到this和that下。” 现在我必须重新开始……date
location
meta_keywords
我希望能够为他们做的是允许他们配置所有这些东西,这样他们就可以定义:
- 各种默认值填写产品描述、价格等。
- 根据事件的标题创建 X 个产品。
- 也许以后还有更多的事情。
这一切的最终结果是,Admin 填写了一张表格,它在后台填写了 5 张表格(他们不一定需要知道,但需要完成的事情)。
我不知道最好或最常见的方法来做到这一点。我一边走一边想办法,但我相信你们中的许多人对此都有一些好主意。
所以问题是:
使所有这些可配置的最佳方法是什么?
Spree 有许多我需要隐藏在控制器中的方法,所以似乎一个好的做法是不在控制器中包含任何方法,只引用模块中的方法(这样你就可以在任何地方重用它)。除非您被允许将多个redirect_to
呼叫链接在一起,否则您不是。
有没有为最终用户提供这种可配置性的示例?诸如用于顺序 CRUD 操作的 ERB 模板之类的东西?
我真的需要手动编写所有这些案例吗?
上面的示例(基于某些属性值为每个事件创建 2-3 张门票)非常具体。你们中的任何人都能够创建一个可配置的系统吗?他们的最终目标是“哦,我已经不止一次这样做了,让我们为这个事件制作一个模板,这样下次它就会创建我所做的一切”。
只是在寻找一些正确方向的推动,或者一些关于工作流自动化的好例子。像Cucumber之类的东西,但对于 CRUD 操作......
谢谢!