# student.rb
has_and_belongs_to_many :courses
# course.rb
has_and_belongs_to_many :students
我試圖在學生模型中創建一個範圍,以檢查它們是否註冊了課程。Rails 3.1 - 使用示波器查找未註冊的學生
我想出的最好的是:
scope :unenrolled, where(Student.courses.count => 0)
但後來我得到錯誤信息
undefined method `courses'
任何人提供任何建議?
現在這就是爲什麼我喜歡SO社區!非常感謝幫助,我比以前更瞭解這一點! 我可以看到查詢中的邏輯,但它仍然拋出異常。 'SQLite3 :: SQLException:no such column:courses.course_id:SELECT COUNT(*)AS count_all,courses.course_id AS courses_course_id FROM「students」INNER JOIN「courses_students」ON「courses_students」。「student_id」=「students」 。「id」INNER JOIN「courses」ON「courses」。「id」=「courses_students」。「course_id」WHERE(courses_count = 0)GROUP BY courses.course_id ORDER BY「students」.id desc ' – Ammar
SQL isn '我的東西真的:( – Ammar
對不起,最後一行應該是'group('courses.id')'。 –