我只用了大约一个星期学习Rails(4)并创建了一个简单的应用程序。我有四张桌子。
1)狮子会 2)黑豹 3)培训师 4)玩具
玩具可以属于狮子或豹。玩具一次只属于一只猫(因此最好使这种多态性。下一部分是我不确定的地方。)
训练师可训练狮子,豹或两者。
狮子或黑豹可以有多个训练师。
我制作了Trainers表的多态,但是在给每个训练师先播放一只狮子然后是一只豹子时,我看到了黑豹笼罩着狮子。似乎我必须创建每个训练师的另一个实例来给他们第二只猫,这也会给同一个训练师第二个ID,这是我不想要的。也许狮子会/训练师和黑豹/训练师之间的多种设计会更好?我的问题是,一旦我为每个many_to_many制作连接表,当我想列出每个训练师训练的猫时,这需要两个循环,一个通过lions_trainers还有panthers_trainers?这甚至是最好的方法吗?不可否认,如果狮子和黑豹队在一张牌桌上,这会更容易,但这不在作业中。建议/输入意见:)
答案 0 :(得分:1)
在我看来,你需要创建一个"抽象"猫桌子, 与狮子桌和黑豹桌子有1:1的关系,猫桌与教练桌之间有多对多的关系表。