0

私はこのようないくつかのモデルを持っています:

class Student < ActiveRecord::Base
  belongs_to :Teacher
  scope :rich_students, joins(:teachers).order('students.money DESC')
end

そしてクラスの先生

class Teacher < ActiveRecord::Base
  has_many :students
  belongs_to :Organization
end

その後:

class Organization < ActiveRecord::Base
  has_many :teachers 
end

今、私はこのようなクエリを書きます:

Student.rich_students.joins(:teachers).where("teachers.organization_id = ?", params[:id]).limit(5)

しかし、これは機能していません。それは私にエラーを与えます:

Association named 'teachers' was not found;
4

2 に答える 2

1

参加するべきではありません

Student.rich_students.joins(:teacher)

于 2013-03-06T21:38:06.027 に答える
1

Studentの「belongs_to」宣言にエラーがあると思います。

class Student < ActiveRecord::Base
  belongs_to :teacher
  scope :rich_students, joins(:teachers).order('students.money DESC')
end

「:Teacher」の代わりに「:teacher」

それが問題の原因になることを願っています...

乾杯

于 2013-03-07T09:16:37.437 に答える