我有一个名为Notes的模型,我想要一个角色属性设置为“老师”的用户将注释添加到另一个具有“学生”角色的用户,但我希望笔记指向两者,教师创建了笔记和写下笔记的学生。
我发现的问题是用户是包含教师和学生的单一模型,那么如何向同一个Notes对象添加两个不同的用户引用呢?
这就是我通常创建引用rails g migration AddUserToNotes user:references
的方法,但这只会添加一个引用。
感谢阅读。
答案 0 :(得分: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)
依旧......