我正在构建一个非常简单的rails关联并通过控制台进行测试。我有一个用户模型和一个课程模型。这些以下列方式关联:
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
答案 0 :(得分:0)
在我的关联中发现错误。
用户模型应通过teacher_id与课程相关联:
has_many :taught_courses, :foreign_key => :teacher_id, :class_name => "Course", :dependent => :destroy
这样一切都按预期工作