我一直在努力尝试开发一个类或范围方法几个小时,但有一个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