在哪里放置业务逻辑类

时间:2011-04-10 10:30:49

标签: ruby-on-rails

例如,我有一个从网站收集数据并返回对象集合的类。此数据不存储在数据库中,因此它不是模型。许多控制器都使用此类,因此它不是控制器。

我可以在哪里放置此类文件?

4 个答案:

答案 0 :(得分:2)

应该进入lib文件夹!作为模块也许!

答案 1 :(得分:2)

我会把它们放在app / models中。然后,您不必处理自动加载路径或require与require_dependency。

仅仅因为某个类未持久存储到您的数据库并不意味着它不属于您的数据模型。将它们放在lib中表明它们是某种与您的应用程序没有多大关系的实用程序类。

Rails混淆了模型和持久性。我认为将一些业务逻辑与持久性实体结合在一起是很好的,但是没有理由不能在ActiveRecord对象之外使用模型逻辑。

答案 2 :(得分:0)

我通常将这些类放在lib目录中。而不仅仅是要求他们。

答案 3 :(得分:0)

它是一个值对象并且应该对整个站点保持相同,并且您的控制器或其他组件应该使用它来自模型的引用,类引用应该在模型中,并且它自己的类可以带有值对象