0

在我的控制器中,我需要生成将绘制图表的数据。为了获取这些数据,我需要执行查询和处理返回的数据。现在我在 StatsHelper 模块中有一个 Stats 类,但我意识到这是不正确的。Stats 类用于多个控制器并处理多个模型,尽管主要关注一个模型。这个逻辑应该去哪里?

我倾向于将它放在 Stats 命名空间中自己的模型中,但与模型中的其他模型一起工作似乎很奇怪。我不想把它放在一个库中,因为它绝对是特定于应用程序的。

4

1 回答 1

0

我将创建一个单独的 Stats 类,以保持代码在逻辑上分离,并且在未来易于识别和返工(而不是将它与其他代码逻辑混合在一起)。

在您正在执行统计数据的课程中,即。object.some_stat,我会定义将调用 Stats 类的特定方法。如果您有许多模型要对其执行统计信息,那么我将在一个模块中定义所有这些方法,然后将该模块包含在我要对其使用统计信息的每个类中。我发现这可以保持代码非常干净。

最简单的方法是创建您的 Stat 模块,并在其中包含您想要方法的每个类。

module Stat
  def sum
  ..
  end
end

class Something
  include Stat
end
于 2012-06-09T20:07:34.100 回答