我的Recipe模型中有一个ActiveRecord范围方法,如下所示。
scope :most_popular, -> { joins(:user_recipes).group(:recipe_id).count }
根据配方在user_recipes连接表中出现的次数返回包含recipe_id => frequency
的哈希值。
我真正喜欢的是获取实际的配方对象来代替recipe_id,以便在我的视图中显示时不必再次查询数据库。我已经尝试了大部分我能想到的东西。我觉得这应该是直截了当的,但我错过了一些小细节。任何帮助将不胜感激。
答案 0 :(得分:1)
我认为
scope :most_popular, -> { joins(:user_recipes).group(:recipe_id).order('count(recipe_id) desc') }
应该做你想做的事