在我的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字段的名稱,然後指定一個外鍵 –