Ruby on Rails:根据 has_many 关系查找值

Ruby on Rails: Find values based on has_many relations

我有 2 个模型:国家(table 个国家)和专业(table 个专业)。 nations 包含世界上所有国家,majors 包含所有教育分支,如计算机科学、机械工程等。 两个模型都有 id 和 name 字段,并包含以下关系。

国模(Nation.rb) has_many:专业

主要型号(Major.rb) has_many:民族

我想运行这样的查询:查找nation_id = x(其中x是国家/地区的ID)的所有专业。

如何在 rails 中执行此操作?

我觉得应该存在一个 table 包含这样的映射:

id major_id nation_id
1   1        1
2   1        2
3   2        1
.
.
.

每个专业都映射到它所属的国家,反之亦然。 我是 rails 的新手,不知道该怎么做。

您关于为两者之间的映射创建第三个 table 的做法是正确的。你有两个选择。你可以创建第三个 table 以防你想要其中的字段而不是 major_id 和 nation_id.

如果没有,您应该创建连接 table。请随意尝试,如果还有其他问题,请告诉我。This 文章以非常简单的方式对其进行了解释。