我最近将数据库从sqlite3迁移到我一直在研究的铁路应用的postgresql。在我的一个页面上,我使用" ChartKick"渲染图。在切换到PostgreSQL之前,我的表和图形都可以正常工作。现在页面失败了,我有一个错误:
pg :: groupingError:错误:列" stats.created_at"必须出现在>组中的子句中或在聚合函数中使用
我已经使用了Google并尝试对其进行故障排除,但无法使我的图形正常运行。
"<%= line_chart @stats.group(:date(.sum(:stroge(%>"
pg :: groupingError:错误:列" stats.created_at"必须出现在该组中或在汇总函数中使用 第1行:..."。" user_id" = $ 1组为" stats"。" create_at ... date"订单... ^ :选择sum(" stats"。"权重"(作为sum_weight," stats"。" date" as Stats_date从" stats"中的sats_date中sats_date。其中'stats'。" user_id" = $ 1组," stats"。desc限制$ 2偏移$ 3
编辑我的控制器中有什么来查询数据:
#get/stats.json DEF索引 @Stats = current_user.stats.paginate(:page => params [:page],per_page:5(.order('create_at desc'(
结束
我还在桌子上使用红宝石宝石" paginate"。
已解决:
Postgres无法对数据进行分组,因为我的代码未指定要获得的数据。通过将" Current_user"添加到我的ChartKick代码中,它可以选择并渲染数据。
将失败
"<%= line_chart @stats.group(:date(.sum(:weight(%>"<
works!
"<%= line_chart current_user .stats.group(:date(.sum(:weight(,离散:true%>"