2008-12-04 114 views
3

我正在为rails应用程序“分析”页面工作。分析页面并没有保留自己的任何数据(这是非常原始的),但确实利用了我从数据库中抓取的指标(通过内置到ActiveRecord中的聚合表达式)。除了收集和显示指标外,我唯一的其他要求是允许用户提供日期范围来过滤数据。到目前为止,我一直在使用实例变量等来存储度量信息......随着度量数量的增长以及管理开始和结束过滤日期的需要,我开始考虑将这些数据放入其中自己的模型。如果我确实将所有“数据”移动到模型中,那么我应该只使用带有attr_accessors的普通对象,还是有更适合的基类可用于非持久性数据?我对MVC架构非常熟悉,知道我的控制器正在变得臃肿,但对轨道不熟悉,无法确定在这种情况下如何组织我的数据/逻辑。Rails应用程序中的非持久性数据

任何有识之士将不胜感激!

回答

2

你在这里在正确的轨道上。许多应用程序在app/models中都有类,它们不能从ActiveRecord :: Base继承。无论何时你发现自己在控制器动作中管理大量的任意变量,它都是考虑将数据抽象为非持久模型的好地方。

0

这是一个目前没有很好记录的领域,可能是因为ActiveRecord的东西性感?

我经历了同样的过程,发现我的控制器动作变得很不舒服,而且充满了逻辑,因为我努力从基于ActiveRecord的模型构造我的派生数据,而这些数据又开始获取他们没有的额外责任真的想要或需要。

一旦我得到the same advice you're getting now整件事简化了辉煌。

相关问题