我有一个名为 Notes 的模型,我希望角色属性设置为"教师"的用户将笔记添加到另一个角色为"学生"的用户,但我希望笔记指向两者,创建笔记的老师和为其编写笔记的学生。
我发现的问题是用户是包含教师和学生的单个模型,那么如何将两个不同的用户引用添加到同一个 Notes 对象?
这就是我通常rails g migration AddUserToNotes user:references
创建引用的方式,但这只会添加一个引用。
感谢您的阅读。
以这种方式设置迁移和建模。
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)
等等...