まず、規則に従うには、モデル名はEnrolledInではなく にする必要がありEnrolled_inます。Enrollmentさらに良いことに、名詞として明確な意味を持つまたは何かに変更します。Classまた、モデル名として (すでに Ruby オブジェクトである)を使用しようとすると、問題が発生することになります。おそらく、Courseまたはそれに似たものに変更します。
それはさておき、移行のすべての列を定義する必要があります。enrolled_ins次のようにテーブルを定義できます。
add_table :enrolled_ins do |t|
t.references :student
t.references :course # I'm using course instead of class as noted above
end
ショートカットはreferences、:student_id と :course_id を整数フィールドとして追加します。
モデル ファイルには、次のものがあります。
# student.rb
class Student < ActiveRecord::Base
has_many :enrolled_ins
has_many :courses, :through => :enrolled_ins
end
# course.rb
class Course < ActiveRecord::Base
has_many :enrolled_ins
has_many :students, :through => :enrolled_ins
end
# enrolled_in.rb
class EnrolledIn < ActiveRecord::Base
belongs_to :student
belongs_to :course
end