私はクラスやスコープメソッドを開発しようと何時間も苦労してきましたが、初心者がSQLiteを知っています。インスタンスメソッドの値に基づいてオブジェクトを順序付けるクラス/スコープメソッドを作成する方法は?
平均的な評価でリストを注文する方法を見つけようとしています。
私はリストと評価の間にhas_many/belongs_toの関係を持っています。リストhave_many評価、各リストhave_many評価することができます。私は今、それらの平均格付けでリストを注文する方法を見つけようとしているが、任意の成功を持っていないです
def average_rating
self.ratings.average(:rating).to_i
end
:私は、リストの平均点を算出し、インスタンスメソッドを持っています。別の投稿に続いて、私はこの方法を試しました:しかし、それは単に特定の順序ですべてのリストを返します。このクエリでは:
SELECT AVG("ratings"."rating") FROM "ratings" WHERE "ratings"."rated_id" = ?
私はリストモデルの属性をAVERAGE_RATING作ることを考えたが、それでもそのためのスコープの方法を開発する難しさを持っていました。アドバイスや援助をしていただければ幸いです。
ありがとうございます!あなたの提案したように属性を追加します。 – Dog