我想按降序排列一個數組,但Heroku推回一個錯誤,聲稱我有一個未定義的方法。Heroku中的未定義方法錯誤,排序陣列
我的控制器代碼目前看起來像這樣。
def by_year_and_month
@bets_by_year = Bet.where("EXTRACT(YEAR FROM created_at) = ?", params[:year])
@bets_by_month = @bets_by_year.where("EXTRACT(MONTH FROM created_at) = ?", params[:month])
@bets_by_month = @bets_by_month.all.group_by { |bet| bet.created_at.beginning_of_month }
@bets_by_month = @bets_by_month.order("created_at")
end
不幸的是最後一行產生了一個錯誤。
Heroku日誌當前顯示此錯誤,當我加載頁面。
NoMethodError (undefined method `order' for #<Hash:0x007f183dd33068>):
但是'group_by'仍然是'Enumerable#group_by'而沒有'all'。 –
'group'是'Enumerable'中'ActiveRelation'到'group_by'的同義詞方法。 –
ActiveRecord不知道'group_by'是什麼。 ActiveRecord的「group」與「Enumerable#group_by」非常不同。無論如何,AR將無法將數據塊發送到GROUP BY數據庫。 –