0

我对 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>

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

4

1 回答 1

0

我还没有测试过,但这种效果应该有效

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 %>
于 2013-05-06T19:05:53.223 回答