Ruby on rails 在Rails上,如何使资源属于同一模型的两个对象?

Ruby on rails 在Rails上,如何使资源属于同一模型的两个对象?,ruby-on-rails,ruby-on-rails-4,activerecord,relational-database,Ruby On Rails,Ruby On Rails 4,Activerecord,Relational Database,我有一个名为Notes的模型,我希望角色属性设置为“teacher”的用户向另一个角色为“student”的用户添加注释,但我希望注释同时指向创建注释的教师和为其编写注释的学生 我发现的问题是,用户是一个包含教师和学生的单一模型,因此如何向同一Notes对象添加两个不同的用户引用 这就是我通常创建引用的方式,但是这只会添加一个引用 感谢阅读。以这种方式设置迁移和建模 create_table :notes do |t| t.integer "teacher_id" t.integer

我有一个名为Notes的模型,我希望角色属性设置为“teacher”的用户向另一个角色为“student”的用户添加注释,但我希望注释同时指向创建注释的教师和为其编写注释的学生

我发现的问题是,用户是一个包含教师和学生的单一模型,因此如何向同一Notes对象添加两个不同的用户引用

这就是我通常创建引用的方式,但是这只会添加一个引用


感谢阅读。

以这种方式设置迁移和建模

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)