我对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>
如何更改averagedonate方法来执行此操作?提前谢谢!
答案 0 :(得分: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 %>