Ruby on Rails:如何为具有两个(多个)外键的表编写种子数据

时间:2015-04-14 00:08:59

标签: ruby-on-rails seeding

我有四张桌子:

Honors (student_id,course_id,prof_id)#referencing 3 tables
student(student_id, name,phnumber,)
course(course_id, cousename)
Prof_id(prof_id,prfEmail)

在honor.db

class Honor < ActiveRecord::Base
      belongs_to :course
      belongs_to :student
      belongs_to :professor
end

在course.db

class Course < ActiveRecord::Base
    has_many :honors
end

与student.rb,professor.rb

类似 你可以帮我写一下这张桌子的种子数据。

对于编写单个外键引用,我知道如何编写。但我不知道如何在一张桌子上为3个外国参考文做这件事。

单个外键的示例(一个人有很多评论):

Person.create(first_name: 'Nicol',last_name: 'Cagase',dob: Date.new(1964,1,7),

            reviews: Review.create([
                {stars: 4 , title: 'The Game of Thrones', commentary: 'waiting for next episode'},
                {stars: 3 , title: 'KingsMan', commentary: 'average'},
    ]))

1 个答案:

答案 0 :(得分:0)

honor = Honors.create()将创建你的第一个种子

honor.student.create()将创建学生和关系

honor.course.create()与学生一样,重复为教授