2

简短版:有哪些好方法可以让最终用户在相当大的项目中定义“流程”或按顺序执行 CRUD 操作,以便他们可以为常见流程构建模板(例如为每个自动发布的新事件创建 2 张票)?像Cucumber之类的东西,但对于 CRUD 操作......,甚至是Selenium

情况如下:

我继承了一个非常大的项目(Spree 电子商务项目),我正在为客户进行修改。这是一个非常复杂且做得非常好的项目。大多数/所有用于创建、、、类别等的工作流程ProductsProductGroups定义得非常好,这意味着它们可以自动化。

所以我的客户希望能够说“当我创建一个新的时Event,我希望它也创建这个:

  • 两张门票:一张 400 美元,一张 500 美元,在我们创建活动后 X 和 Y 时间开始销售
  • 如果是这个 Event,也制作这个“早起的鸟”特辑。”

这转化为create/saveSpree: 中的 4 个,也许更多的模型Event, Product, ProductGroup, ProductProperty

如果我要手动解决这种边缘情况,我将不得不编写大量代码并进行一些认真的重构(或复制粘贴),以便我的客户可以为他们创建的每个事件创建票证。但是下一个案例呢,“我希望它根据事件、和将每个 Ticket 归类到thisthat下。” 现在我必须重新开始……datelocationmeta_keywords

我希望能够为他们做的是允许他们配置所有这些东西,这样他们就可以定义:

  • 各种默认值填写产品描述、价格等。
  • 根据事件的标题创建 X 个产品。
  • 也许以后还有更多的事情。

这一切的最终结果是,Admin 填写了一张表格,它在后台填写了 5 张表格(他们不一定需要知道,但需要完成的事情)。

我不知道最好或最常见的方法来做到这一点。我一边走一边想办法,但我相信你们中的许多人对此都有一些好主意。

所以问题是:

使所有这些可配置的最佳方法是什么?

Spree 有许多我需要隐藏在控制器中的方法,所以似乎一个好的做法是不在控制器中包含任何方法,只引用模块中的方法(这样你就可以在任何地方重用它)。除非您被允许将多个redirect_to呼叫链接在一起,否则您不是。

有没有为最终用户提供这种可配置性的示例?诸如用于顺序 CRUD 操作的 ERB 模板之类的东西?

我真的需要手动编写所有这些案例吗?

上面的示例(基于某些属性值为每个事件创建 2-3 张门票)非常具体。你们中的任何人都能够创建一个可配置的系统吗?他们的最终目标是“哦,我已经不止一次这样做了,让我们为这个事件制作一个模板,这样下次它就会创建我所做的一切”。

只是在寻找一些正确方向的推动,或者一些关于工作流自动化的好例子。像Cucumber之类的东西,但对于 CRUD 操作......

谢谢!

4

0 回答 0