我有一个名为@friend_comparisons 的数组,其中填充了许多用户对象。然后我使用以下命令对数组进行排序:
@friend_comparisons.sort! { |a,b| b.completions.where(:list_id => @list.id).first.counter <=> a.completions.where(:list_id => @list.id).first.counter }
这是通过与每个用户关联的某个计数器对数组进行排序(其细节对问题并不重要)。
我想找出数组中有多少用户对象的计数器大于某个数字(比如说 5)。我该怎么做呢?
这是我目前解决问题的方法:
@friends_rank = 1
for friend in @friend_comparisons do
if friend.completions.where(:list_id => @list.id).first.counter > @user_restaurants.count
@friends_rank = @friends_rank + 1
end
end