class Room
has_many :room_markers
has_many :rooms, through: :room_markers
end
class Marker
...
end
class RoomMarker
belongs_to :room
belongs_to :marker
end
我有一组如上所述的课程。
现在我意识到Room
可能has_and_belongs_to_many
与Maeker
关联而不是has_many_through
现在我的问题是“我应该重构这些模型吗?”而不是has_and_belongs_to_many
“{/ 1}}。
如果我继续使用现有设计,是否存在与性能相关的问题?
答案 0 :(得分:1)
越简单越好。如果您不需要额外的型号,您应该重构。
最简单的经验法则是,如果需要将关系模型作为独立实体使用,则应设置has_many:through关系。如果您不需要对关系模型执行任何操作,则设置has_and_belongs_to_many关系可能更简单(尽管您需要记住在数据库中创建连接表)。
来自guides。
我认为您不必担心此级别的性能,只需采用符合您需求的解决方案。