テーブルからフェッチした一連の行があります。オブジェクトの評価としましょう。このオブジェクトを取得した後、データベースから 100 個のエントリを取得しました。
評価オブジェクトは次のようになります。
table_ratings
t.integer :num
そこで、私が今やりたいことは、他のクエリを実行せずに、これらの 100 行に対していくつかの計算を実行することです。追加のクエリを実行して、これを行うことができます。
r = Rating.all
good = r.where('num = 2') # this runs an additional query
"#{good}/#{r.length}"
これは私がやりたいことの非常に大まかなアイデアであり、作成する他のより複雑な出力があります。これらの行に対して実行する必要がある 10 を超える異なる計算があり、SQL クエリでこれらのエイリアスを作成することは最善の方法ではない可能性があるとします。
上記の r.where クエリを置き換える効率的な方法は何でしょうか? ActiveRecord Association コレクション オブジェクトへの同様のクエリ API を提供する Ruby メソッドまたは gem はありますか?