這之間的連接是類我:添加兩個表
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
基於過濾但我寫我的控制器像這樣,這是行不通的,因爲它認爲它應該在Class
模型中找到organization_id,但它在Student
模型中。
@results = Class.top_expensive_classes.where(organization_id: params[:id]).limit(RESULT_SET_COUNT)
所以我想知道是否有辦法解決這個問題?我想我應該在某個地方引入新的連接?但無法弄清楚。
爲什麼不'Class'有任何關聯定義?你可以發佈'程序'模型嗎?你的查詢應該得到什麼?所有學生連接到特定組織的最昂貴的課程? – Jesper 2013-03-06 20:20:56
@Jesper:對不起,我更新了這個協會,基本上他們是在等級制中彼此懸掛。是的,你知道了:「爲所有學生連接到特定組織的最昂貴的課程」謝謝 – Bohn 2013-03-06 20:27:28