如何使用范围显示特定属性的所有高于平均值的项目

时间:2014-09-03 21:32:17

标签: ruby-on-rails activeadmin

我需要创建一个范围,以显示interest大于interest所属company平均值的项目。有一个产品型号。每个产品都具有以下属性:

  • name
  • interest
  • company

我可以使用以下代码计算每个interest的{​​{1}}的平均值:

company

然后,我可以使用此代码检查项目的def self.average_interest(company) where(company: company).average(:interest) end 与其所属interest的平均值之间的百分比差异:

company

我现在想要一个范围,只显示def average_change_interest (self.interest - self.class.average_interest(self.company)) / self.class.average_interest(self.company) * 100 end 高于其所属interest平均值的项目。

此范围显示的项目company大于所有项目interest的平均值,但我希望它只显示其兴趣大于{{1}的平均值的项目对于他们所属的interest

interest

关于如何实现这一目标的任何想法?

谢谢你们

0 个答案:

没有答案