如何在非常复杂的情况下使用ActiveRecord回调?

时间:2012-03-14 15:32:22

标签: ruby-on-rails activerecord callback

当我们在ActiveRecord模型中有一个复杂的逻辑时,它变成了一场噩梦。现在我们正在维护一个复杂的rails项目。作为最复杂的模型之一,我们有超过4000行代码和超过140个回调。当新功能出现时,它会被压抑。没有人能分辨出哪个部件受到影响并需要更新。

有没有人对此案有任何建议?有没有更好的想法来组织回调?或者我们需要避免使用回调滥用,并且需要涉及任何其他解决方案?

2 个答案:

答案 0 :(得分:0)

您需要考虑使用DCI模式。是你的情况。您可以在此SO问题中获得有关该问题的一些信息:DCI - Data, Context and Interaction - Successor to MVC?

答案 1 :(得分:0)

您可以将一些回调移至Observers。这可以使您的模型更轻。