这是我的课程:
Model Organization
has_many Students
Model Student
has_many Classes
belongs_to Organization
Model Class
a field named : price
belongs_to Student
scope :top_expensive_classes, joins(:students).order('price DESC')
现在我想列出前 10 名昂贵的课程
至少我遇到的第一个问题是,params
我有organization_id
基于它的过滤器但是我这样写我的控制器不起作用,因为它认为它应该在模型中找到组织 ID,Class
但它在Student
模型中。
@results = Class.top_expensive_classes.where(organization_id: params[:id]).limit(RESULT_SET_COUNT)
所以我想知道是否有办法解决这个问题?我想我应该在某个地方引入一个新加入?但无法弄清楚。