导轨活动记录关联,使用从控制台构建填充外键

问题描述:

我正在构建一个非常简单的导轨关联并通过控制台对其进行测试。我有一个用户模型和一个课程模型。这些都是通过以下方式有关:导轨活动记录关联,使用从控制台构建填充外键

class User < ApplicationRecord 
    has_many :courses, :dependent => :destroy 
end 

class Course < ApplicationRecord 
    belongs_to :teacher, :foreign_key => 'teacher_id', :class_name => 'User' 
end 

当通过控制台测试我需要在课程表中的user_id列,以运行

User.first.courses.build 

但是,这样做,我留下一个课程表中的空teacher_id。

我想知道是否有可能只在课程表中的teacher_id柱(没有USER_ID这在我看来,冗余),并填满它自动运行

User.first.courses.build 

发现错误的我的协会。

用户模型应该通过teacher_id相关的课程:

has_many :taught_courses, :foreign_key => :teacher_id, :class_name => "Course", :dependent => :destroy 

这样一切正常