我一直在努力嘗試開發一個類或範圍方法幾個小時,但有一個SQLite的初學者知識,我已經嘗試和閱讀的一切都失敗了。如何創建一個基於實例方法的值對對象進行排序的類/作用域方法?
我試圖找到一種方法,以他們的平均評級排序。
我有一個has_many/belongs_to List和Rating之間的關聯。列出have_many等級,每個列表可以擁有_many等級。然後我有一個計算列表的平均得分實例方法:
def average_rating
self.ratings.average(:rating).to_i
end
現在我試圖找到一種方法,命令由他們的平均等級名單,但我沒有任何成功。繼另一篇文章後,我嘗試了這種方法:
def self.highest_rating
List.all.sort_by(&:average_rating)
end
但它只是以特定順序返回所有列表。與此查詢:
SELECT AVG("ratings"."rating") FROM "ratings" WHERE "ratings"."rated_id" = ?
我想過做AVERAGE_RATING名單上的模型的屬性,但有困難,甚至發展爲一個範圍的方法。如果您能提供任何建議或幫助,我將不勝感激!
感謝您的幫助!我將添加您建議的屬性。 – Dog