短版:允许最终用户在相当大的项目中定义“进程”或顺序执行CRUD操作的一些好方法,这样他们就可以构建模板对于常见流程(比如为每个自动发布的新事件创建2张票)?类似于Cucumber,但对于CRUD操作......,甚至是Selenium?
情况如下:
我继承了一个非常大的项目(Spree eCommerce project),我正在为客户修改它。这是一个非常复杂且非常完美的项目。创建Products
,ProductGroups
,类别等的大部分/全部工作流程定义得非常明确,这意味着它们可以实现自动化。
所以我的客户希望能够说“当我创建新的Event
时,我希望它也能创建它:
Event
,也可以创建这个“早鸟”特辑。“这可以转换为create/save
- 4个,可能更多,模型在Spree:Event, Product, ProductGroup, ProductProperty
。
如果我要手动解决这个边缘情况,我必须编写相当多的代码并进行一些严格的重构(或复制粘贴),以便我的客户可以为他们创建的每个事件创建票证。但是下一个案例呢,“我希望它根据事件date
,location
对 和 下的每个故障单进行分类,以及meta_keywords
“。现在我必须重新开始......
我希望能为他们做的是允许他们配置所有这些东西,以便他们可以定义:
所有这一切的最终结果是,Admin填写了一个表单,它在后台填写了5个表单(他们不需要知道的事情,但需要完成)。
我不知道最好或最常用的方法。在我走的时候我正在搞清楚,但我相信你们中的许多人对此都有一些好主意。
所以问题是:
使所有这些都可配置的最佳方式是什么?
Spree有许多我需要埋在控制器中的方法,所以好的做法似乎是不在控制器中包含任何方法,只引用模块中的方法(所以你可以在任何地方重用它) 。除非你被允许将多个redirect_to
电话连接在一起,否则你就不会。
对于最终用户,是否有任何具有此类可配置性的示例?像ERB模板那样用于顺序CRUD操作?
我是否真的需要手动编写所有这些案例?
上面的示例(基于某些属性值为每个事件创建2-3个票证)非常具体。你们中的任何人都能够创建一个可配置的系统吗?最终的目标是让他们像“哦,我不止一次这样做,让我们为这个事件制作一个模板,以便下次创建我所做的一切”。
只是寻找正确方向的某种推动力,或者在工作流程自动化方面的一些好例子。像Cucumber这样的东西,但对于CRUD操作......
谢谢!