Ruby on rails 在rails中组织和分组复杂的过程

Ruby on rails 在rails中组织和分组复杂的过程,ruby-on-rails,Ruby On Rails,例如,假设我有4种型号:产品,订单,客户,商店 当客户在商店下了订单时,商店的店主会收到一封电子邮件,要求确认产品上的UPC代码。一旦确认,客户将收到一封带有代码的电子邮件,当他们将其输入门户时,它将激活产品 这里有很多逻辑,跨越了几个模型。例如,当订单完成时,它会创建一个新的非活动产品,并带有确认键。店主通过其确认键访问此产品,并向其添加upc信息。只有这样,一旦产品有upc信息,客户才能确认 TL;DR-我的问题是,将涉及多个模型的大型流程分组到中心位置的最佳方式是什么?与其从一个模型中访问

例如,假设我有4种型号:
产品
订单
客户
商店

客户
商店
下了
订单
时,商店的店主会收到一封电子邮件,要求确认
产品
上的UPC代码。一旦确认,客户将收到一封带有代码的电子邮件,当他们将其输入门户时,它将激活
产品

这里有很多逻辑,跨越了几个模型。例如,当
订单
完成时,它会创建一个新的非活动
产品
,并带有确认键。店主通过其确认键访问此
产品
,并向其添加upc信息。只有这样,一旦
产品
有upc信息,客户才能确认


TL;DR-我的问题是,将涉及多个模型的大型流程分组到中心位置的最佳方式是什么?与其从一个模型中访问多个其他模型,不如将其集中化。对于这种类型的逻辑有最佳实践吗?

这种情况通常会导致一个“服务对象”被放置在
/lib

这允许隔离测试工作流,并且不必增加模型的不必要

您可以在此处找到有关服务对象的介绍: