1

我有一個名爲Notes的模型,我想要一個角色屬性設置爲「老師」的用戶將註釋添加到具有「學生」角色的另一個用戶,但我希望註釋指向兩個,老師創建了筆記和筆記所寫的學生。如何使兩個資源屬於Rails上同一模型的兩個對象?

我發現的問題是,用戶是包含教師和學生的單一模型,那麼如何將兩個不同的用戶引用添加到相同的Notes對象?

這是我通常創建參考rails g migration AddUserToNotes user:references,但只會添加一個參考。

感謝您的閱讀。

+1

好吧,我不先進的編碼器。但爲什麼不讓學生和老師使用兩種不同的模型?然後你可以做一個多態關聯 – Maxence

回答

1

以這種方式設置您的遷移和模型。

create_table :notes do |t| 
    t.integer "teacher_id" 
    t.integer "student_id" 
end 

class Note < ApplicationRecord 
    belongs_to :student, class_name: 'User' 
    belongs_to :teacher, class_name: 'User' 
end 

然後,你必須

Note.create(teacher_id: 1, student_id: 2) 

等等...

相關問題