2012-02-28 111 views
2

我遇到了與mongoid排序問題。我使用voteable_mongo來收集給定對象上的投票,現在我想基於這些命令進行排序,但我沒有任何運氣:圍欄,排序mongoid兒童

它給出了一個類似於模型的字段,並且有一個方法votes_point

{"count"=>1, "down"=>[BSON::ObjectId('4f450fd725ae0b7538000002')], "down_count"=>1, "point"=>-1, "up"=>[], "up_count"=>0} 

代碼:

​​

@word.definitions.order_by([:votes["point"],:desc]).each do |definition| 

上面聲明並沒有根據投票順序排列他們。它的輸出與@word.definitions

的輸出完全一樣我猜這跟我試圖由另一個模型的孩子命令的事實有關?我必須更直接地查詢它還是錯過了一些東西?

回答

2

您可以試試:

@word.definitions.order_by('votes.point') 

@word.definitions.order_by([['votes.point', :desc]])