【发布时间】:2013-08-17 18:15:48
【问题描述】:
我正在尝试为医生及其培训计划/专业设计关系。示例如下:
- 一个课程有一个专业/课程(例如,大学神经病学培训课程专门研究神经病学)
- 医生可以拥有多个课程,因此可以拥有多个专业(例如,Smith 博士是参加大学神经病学培训课程的神经科医生,而 Jones 博士是参加大学神经病学培训课程和大医院儿科课程的神经科医生和儿科医生)
似乎可以将其设置为 has_many :through ... 但是,当我尝试将其概念化时,这似乎并不有效或不正确。我有另一个与专业(但不是程序)相关的基本上不相关的模型,这就是为什么我不将程序和专业结合起来。我应该能够访问 User.programs.all 和 Program.users.all :
模型用户:
有_许多程序
has_many 专业,:through => :programs
示范项目:
belongs_to :user
belongs_to :specialty
模特专长:
has_many :users, :through => :program
has_many :程序
【问题讨论】:
-
一个程序是否只属于一个用户?或者一个程序也可以有很多医生?
-
一个程序有很多医生。
-
我认为,您将需要 5 个模型。我会添加一个答案。
-
是的,正如@squadette 所提到的,你们很多人不想通过程序链接专业。我已经在答案中解决了这个问题。
标签: ruby-on-rails activerecord