2012-03-14 39 views
0

当我们在ActiveRecord模型中有一个复杂的逻辑时,它变成了一场噩梦。现在我们正在维护一个复杂的rails项目。作为最复杂的模型之一,我们有超过4000行代码和140多个回调。当新功能进入时,它很郁闷。没有人能分辨哪个部分受到影响,需要更新。如何在非常复杂的情况下使用ActiveRecord回调?

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

回答

0

您需要使用DCI模式进行思考。对你的情况做。你可以在这个问题中得到一些关于这方面的信息:DCI - Data, Context and Interaction - Successor to MVC?

+0

我们已经考虑过了。任何宝石的工作?或者你有任何样品? – 2012-03-15 05:13:42

+0

我添加一个链接到一个关于这个问题的SO问题。 – shingara 2012-03-15 08:52:19

0

你可以将一些回调移动到Observers。这可以使你的模型更轻。

+0

我认为我们已经在使用回调。如果我将回调更改为Observer。它将被用于观察者。问题仍然存在。 – 2012-03-15 05:15:37

相关问题