Ruby on rails 联接表太多

Ruby on rails 联接表太多,ruby-on-rails,ruby,ruby-on-rails-3,Ruby On Rails,Ruby,Ruby On Rails 3,首先,我将解释我的应用程序中发生了什么: 我有四种型号。公司、学生、志愿者和业务部门及其关系如下: company.rb 拥有且属于许多业务部门 student.rb 拥有且属于许多业务部门 志愿者.rb 拥有且属于许多业务部门 业务部门。rb 拥有并且属于很多:学生 拥有并且属于许多志愿者 拥有且属于许多公司 它将如何工作: 管理员用户将创建一些业务部门,每个用户(公司、学生、志愿者)都可以选择一些创建的业务部门 以这种方式,我必须创建3个不同的联接表(业务部门学生、业务部门志愿者、业务部门公

首先,我将解释我的应用程序中发生了什么: 我有四种型号。公司、学生、志愿者和业务部门及其关系如下:

company.rb

拥有且属于许多业务部门

student.rb

拥有且属于许多业务部门

志愿者.rb

拥有且属于许多业务部门

业务部门。rb

拥有并且属于很多:学生

拥有并且属于许多志愿者

拥有且属于许多公司

它将如何工作:

管理员用户将创建一些业务部门,每个用户(公司、学生、志愿者)都可以选择一些创建的业务部门

以这种方式,我必须创建3个不同的联接表(业务部门学生、业务部门志愿者、业务部门公司)

还有别的办法吗


我查了多态关联,但在这种情况下它似乎不起作用

在数据冗余和可空数据的惩罚下,您可以按层次结构使用表,而不是按类型使用表或按具体类使用表。这将减少表的数量。。。但是为什么您会担心连接呢?我想知道是否有一种方法可以避免创建3个不同的表,并且做一些更简单的事情。也许没有其他方法,只是问:)三个联接表是实现这一点的常规方法。我认为,公平地说,任何其他解决方案都会更加困难,而不是更少——这就是当你违背惯例而不是按照惯例进行设计时会发生的情况。