单个模型的多个一对多关联

Multiple one to many association for a single model

我有四个模型:Interview、Interviewee、Interviewer 和 InterviewDate。

rails关联关系如下:

  1. 一个 InterviewDate 可以有多个采访(一对多)
  2. 一个受访者可以进行多次采访(一对多)
  3. 一个面试官可以有很多面试,一个面试可以有 许多面试官(多对多)

因此,如您所见,面试 模型中存在三个传入的 "Many" 关系。鉴于我需要在视图中执行以下任务,应该如何在 rails 中完成路由?

  1. 列出所有按采访日期分组的采访

  2. 用于创建采访的表格(其中还包括保存 将其他 3 个表的字段导入数据库)。

由于您要列出 面试 ,您的路线应该是默认路线 /interviews/:

resources :interviews

并且您的创建表单应该使用 ActiveRecord's Nested Attributes

根据表单的复杂程度,您可能希望使用 Cocoon gem,但这不是必需的。

如果你想列出采访,那么你必须从这样的事情开始:

resources :interviews

因为你可能会有很多关联,所以你需要使用这样的东西:http://guides.rubyonrails.org/association_basics.html#the-has-many-through-association

还要检查其他资源,因为您必须使用嵌套 forms/attributes:https://www.sitepoint.com/master-many-to-many-associations-with-activerecord/