在轨道

时间:2015-10-14 19:21:35

标签: ruby-on-rails

举个例子,假设我有4个模型:ProductOrderCustomerStore

ordercustomer中放置store时,商店的所有者会收到一封电子邮件,要求确认{{1}上的UPC代码}。确认后,客户会收到一封电子邮件,其中包含的代码在进入门户网站时会激活product

这里有很多逻辑,它涵盖了几个模型。例如,当product完成后,它会使用确认密钥创建一个新的非活动order。商店所有者通过其确认密钥访问此product,并将upc信息添加到其中。只有这样,一旦product有upc信息,客户就可以确认。

TL; DR - 我的问题是,将涉及多个模型的大型流程分组到中心位置的最佳方法是什么?不是从一个模型中访问其他几个模型,而是将其集中化更有意义。这种逻辑是否有最佳实践?

1 个答案:

答案 0 :(得分:1)

这种情况通常会导致“服务对象”放在/lib中。

这允许单独测试工作流程,并且不会不必要地增加模型。

您可以在此处找到服务对象的简介: