我正试图输出一个JSON响应,该响应由模型上的特定类方法排序。我知道我可以按实际属性排序,但如何通过发送块来排序。也就是说:
class Baker
has_many :meals
def this_week_cookies
self.meals.this_week.sum(:cookies_baked)
end
end
我想打个类似的电话
Baker.order{|Baker|Baker.this_week_cookies}
在视图中输出排行榜,但我知道这不起作用
order
方法正在编写SQL查询,因此不能使用类似的自定义方法。你需要使用ruby来做你想做的事情。
Baker.all.sort_by(&:this_week_cookies)