首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >自指联想

自指联想
EN

Stack Overflow用户
提问于 2013-01-22 02:17:10
回答 1查看 303关注 0票数 0

这是this.的后续问题

这是我目前建立师生关系的背景.

用户模型

代码语言:javascript
复制
  has_many :teacher_links, :foreign_key => :student_id, :dependent => :destroy, :class_name => "TeacherStudentLink"
  has_many :student_links, :foreign_key => :teacher_id, :dependent => :destroy, :class_name => "TeacherStudentLink"
  has_many :students, :through => :student_links
  has_many :teachers, :through => :teacher_links

TeacherStudentLink模型

代码语言:javascript
复制
class TeacherStudentLink < ActiveRecord::Base
  attr_accessible :user_id, :student_id, :teacher_id

  belongs_to :user
  belongs_to :student, :class_name => "User"
  belongs_to :teacher, :class_name => "User"
end

我觉得很尴尬,因为teacher_student_links表有三列:用户、学生、教师。用户可以有很多老师,他也可以有很多学生。如果我没有教师专栏,而只是假装“用户”是“老师”,一切都很完美。有办法解决这个问题吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-01-22 03:04:30

奶酪黄鼠狼在评论中说,你的链接不应该有user_id

代码语言:javascript
复制
class TeacherStudentLink < ActiveRecord::Base
  attr_accessible :student_id, :teacher_id

  belongs_to :student, :class_name => "User", :foreign_key => :student_id
  belongs_to :teacher, :class_name => "User", :foreign_key => :teacher_id
end
  • belongs_to foreign_key指定当前表(链接)上的外键
  • has_many foreign_key指定另一个表(链接)上的外键
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14450537

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档