Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 我应该把在rails应用程序中对模型执行统计分析的代码放在哪里?_Ruby On Rails_Ruby On Rails 3_Model View Controller - Fatal编程技术网

Ruby on rails 我应该把在rails应用程序中对模型执行统计分析的代码放在哪里?

Ruby on rails 我应该把在rails应用程序中对模型执行统计分析的代码放在哪里?,ruby-on-rails,ruby-on-rails-3,model-view-controller,Ruby On Rails,Ruby On Rails 3,Model View Controller,在我的控制器中,我需要生成要绘制图表的数据。为了获得这些数据,我需要执行查询并处理返回的数据。现在我在StatsHelper模块中有一个Stats类,但我意识到这是不正确的。Stats类用于多个控制器并处理多个模型,尽管主要关注一个模型。这种逻辑应该走向何方 我倾向于将它放在Stats名称空间中自己的模型中,但在模型中使用其他模型似乎有些奇怪。我不想把它放在lib中,因为它肯定是特定于应用程序的。我会创建一个单独的Stats类,以保持代码在逻辑上是分离的,并且在将来易于识别和返工(而不是与其他代

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


我倾向于将它放在Stats名称空间中自己的模型中,但在模型中使用其他模型似乎有些奇怪。我不想把它放在lib中,因为它肯定是特定于应用程序的。

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

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

最简单的方法是创建Stat模块,并在其中包含所有需要方法的类

module Stat
  def sum
  ..
  end
end

class Something
  include Stat
end