在创建一个对象之后,将创建多个对象的代码放在何处



这是一个关于如何组织代码的问题,我无法决定什么是最好的,我也没有清楚地发现在以下情况下什么是最佳实践:

我有模型A。创建后,我需要创建3个模型B、4个模型C和一个未定义数量的模型D,所有这些都与模型A有关。我的代码按预期工作,这实际上是一个问题,我应该把代码放在哪里来完成这一切。

目前,在模型A控制器的create操作中,在保存模型A之后,我有4个处理所有逻辑的服务。但当我rails db:seed时,我必须重复对这4个服务的呼叫。所以我很想把这4个调用放在模型A的after_create回调中,但这不是打破了单一责任模式吗?此外,我还有第五个处理通知的服务,我不想把它放在模型回调中,所以我不会每次rails db:seed都收到很多通知。

也许我所做的已经是正确的,并遵循了最佳实践,但我对此不确定,我需要你们这些善良的读者的确认或意见。

PS:对不起英文:-(

您做得很好,因为应用程序回调的可伸缩性会让人头疼。小文章为什么最好避免回调。

http://codeatmorning.com/3-reasons-to-avoid-rails-callbacks/

相关内容

  • 没有找到相关文章

最新更新