2012-02-28 75 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]])