Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/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 计算多个不同的平均值_Ruby On Rails_Ruby_Average - Fatal编程技术网

Ruby on rails 计算多个不同的平均值

Ruby on rails 计算多个不同的平均值,ruby-on-rails,ruby,average,Ruby On Rails,Ruby,Average,我对rails相当陌生,并且仍然习惯于组合方法。我目前正在尝试创建一个方法,该方法可以平均来自多个列的不同数据。我想在一个方法中完成这一切,以便可以在html表中轻松显示信息 目前,我的模型中有: def averagedonate scores.group(:donatedate).average('donateamount') scores.group(:donatedate).average('rating') end 我希望能够在这样的表格中使用它们: <% @a

我对rails相当陌生,并且仍然习惯于组合方法。我目前正在尝试创建一个方法,该方法可以平均来自多个列的不同数据。我想在一个方法中完成这一切,以便可以在html表中轻松显示信息

目前,我的模型中有:

def averagedonate
    scores.group(:donatedate).average('donateamount')
    scores.group(:donatedate).average('rating')
end
我希望能够在这样的表格中使用它们:

<% @averagedonate.each do |donatedate, donateamount, rating| %>

  <tr>
    <td><%= donatedate %></td>
    <td><%= donateamount %></td>
    <td><%= rating %></td>
  </tr>


我如何改变我的平均捐赠方法来做到这一点?提前谢谢

我还没有测试过,但是这种效果应该可以用

def averagedonate    
    scores.select("
        AVG(donateamount) as avg_donateamount,
        AVG(rating) as avg_rating,
        donatedate
    ")
    .group(:donatedate)
end
然后像这样使用它

<% @averagedonate.each do |item| %>
    <tr>
    <td><%= item.donatedate %></td>
    <td><%= item.avg_donateamount %></td>
    <td><%= item.avg_rating %></td>
    </tr>
<% end %>