rails active record association,使用来自控制台的build来填充外键

时间:2016-11-29 13:48:34

标签: ruby-on-rails foreign-keys associations

我正在构建一个非常简单的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

1 个答案:

答案 0 :(得分:0)

在我的关联中发现错误。

用户模型应通过teacher_id与课程相关联:

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

这样一切都按预期工作