2011-08-06 87 views
1

我有一种情况,我无法弄清楚放置这个业务逻辑的位置。何处放置跨越多个模型的业务逻辑?

在rails中,最好的做法是使用胖模型和瘦控制器。

现在我有一种情况,我正在进行交互(主要更新)3-4模型记录。

我应该把这个逻辑放在哪里?我应该制作一个'服务'类型的类并将它放在lib中吗?

+0

你能举个例子吗? – deb

回答

3

试图取得某些东西来备份证据,I found this,第1.2.3章。

的lib /库模块

这肯定是使用反式模型代码最合乎逻辑的地方。

这基本上是我们在编写acts_as_whatever宝石时放置大部分代码的地方。

+1

IIRC,rails 3将lib目录从默认加载路径中拉出 - 您可能必须将其添加回去。 – DGM

0

有时候可能需要在模型文件夹中创建另一个类,以便返回到基于AR的模型。 “模型”不必局限于数据库表。