私は @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