当我使用Chartkick在我的ruby on rails项目中安装一些图形时,我遇到了一个奇怪的错误,我无法解析或理解其他解释。
以下代码嵌入到我的视图文件中。
<%= area_chart @bets_by_month.group_by_day(:date_of_bet).sum(:profit_or_loss) %>
@bets_by_month实例在控制器中声明如此
@bets_by_year = Bet.where("EXTRACT(YEAR FROM date_of_bet) = ?", params[:year])
@bets_by_month = @bets_by_year.where("EXTRACT(MONTH FROM date_of_bet) = ?", params[:month])
@bets_by_month = @bets_by_month.order("date_of_bet DESC")
尝试加载页面时返回错误。
PG::GroupingError: ERROR: column "bets.date_of_bet" must appear in the GROUP BY clause or be used in an aggregate function
然而,当我将此代码嵌入到我的视图文件中时,我没有遇到任何问题。
<%= area_chart Bet.group_by_day(:date_of_bet).sum(:profit_or_loss) %>
我需要使用该实例的原因是因为我希望每个月都有一个显示该月结果的不同图表。
答案 0 :(得分:3)
问题是图表因为@bets_by_month
按降序排序而感到困惑。一旦我改变了一切都很好。