我有一个关于has的问题,当它适用于多个模型时属于许多。我已经看到了几个关于habtm与其他类似问题的问题,但没有一个像这样(它们通常适用于两个模型,而不是三个模型)。
假设我有以下类:
学生habtm俱乐部 - 学生可以加入多个俱乐部,俱乐部有多个学生。
客房habtm俱乐部 - 一个房间可能有多个俱乐部使用它,俱乐部可能会使用多个房间。
学生和房间之间没有直接的关系。
我认为在同一个班级(俱乐部班级)中使用两个habtm关系没有任何问题,但我可能会遗漏一些细微之处。
class Student < ActiveRecord::Base
has_and_belongs_to_many :clubs
end
class Clubs < ActiveRecord::Base
has_and_belongs_to_many :students
has_and_belongs_to_many :rooms
end
class Rooms < ActiveRecord::Base
has_and_belongs_to_many :clubs
end
我假设在这种情况下我也可以使用:通过一个或两个关系。
答案 0 :(得分:0)
您发布的内容是正确且优化的设计。
房间和学生之间没有相似之处,所以多态不适合,关系也是正确的。