0

我在我的 Result 模型中有一些测试的结果,这些测试具有:measurement_id、:test_id、:player_id、:no、:res 其中 no 是测试次数(比如说 1-first、2-second 等)并且 :res 是 resault那个测试。

现在我想写一个方法来做这样的事情:

结果.where(:measurement_id=xx, :test_id=zz, :player_id=yy).finalresault

finalresault 将查找表中的所有 :res 并计算让我们说平均值并返回它。

有可能这样做吗?

谢谢你

这是模型的样子,我试图写一些东西......:

  class Result < ActiveRecord::Base
      attr_accessible :measurement_id, :test_id, :player_id, :no, :res
      belongs_to :test 

      def finalresault


      end  

    end
4

1 回答 1

2

我认为您正在寻找的更像是这样的:

class Result < ActiveRecord::Base
  attr_accessible :measurement_id, :test_id, :player_id, :no, :res
  belongs_to :test 

  class << self
     def finalresault
       Result.where(:measurement_id=xx, :test_id=zz, :player_id=yy).each do |result|
         # tally up your result.res here (or whatever calculation you want)
       end
       # ...finish the calculation and return it here
     end
  end
end

您将能够在不实例化实例的情况下在类上调用此方法:

Result.finalresault
于 2012-05-04T01:10:12.290 回答