2016-03-11 73 views
1

我想補充的排序鏈接,下面的查詢:洗劫sort_link的SQL COUNT(),SUM和AVERAGE

@q = Order.group(:suburb).select("suburb, COUNT(*) as count, SUM(total) as total, AVG(total) as average").ransack(params[:q]) 

但是當我使用:

<%= sort_link(@q, :average) %> 

的URL被正確填充,但沒有排序! 當我檢查@ q.sorts時,列正確無誤。

回答

2

數據庫中沒有平均列,所以它不會像那樣工作。你可以嘗試用ransacker破解這樣的:

ransacker :average do 
    Arel.sql('average') 
end 

所以這個平均平均時被發現將被使用。

+0

工作完美,謝謝! – pastullo

+0

我有[此](http://stackoverflow.com/questions/41984939/ransack-sort-on-count-of-habtm-or-hmt-associated-records)與賞金有些相關的問題。你想對它進行破解嗎? – BrunoFacca