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