在我的Rails应用程序中,用户可以创建课程和学校(组)。每次用户创建课程或学校时,他们的user_id都存储在课程或学校的数据库表中,因此用户has_many:学校和课程以及学校或课程belongs_to:用户。此外,用户可以通过关系模型(具有user_id,school_id和:role [字符串]的学校以及课程student_users(和professor_users))参加课程并加入学校(作为学生或教授)其中有:USER_ID,COURSE_ID和:角色[字符串]我的问题是,在用户模式,我可以只指定一旦:has_many通过Ruby on Rails应用程序
has_many :schools, :dependent => :destroy
has_many :courses, :dependent => :destroy
has_many :schoolgroups, :dependent => :destroy
has_many :student_users, :dependent => :destroy
has_many :professor_users, :dependent => :destroy
不然我就必须有一个看起来像这样的用户模型:
has_many :schools, :dependent => :destroy
has_many :courses, :dependent => :destroy
has_many :schoolgroups, :dependent => :destroy
has_many :schools, :through => :schoolgroups
has_many :student_users, :dependent => :destroy
has_many :courses, :through => :student_users
has_many :professor_users, :dependent => :destroy
has_many :courses, :through => :professor_users
您无法指定具有相同名称('courses')的多个关联。不知道这是你在这之后,但是? – polarblau
是的,我想我应该做的是在两个关系表中更改“course”和“school”id字段的名称,然后指定一个外键 –