Rails:polymorphic assoziation,has_many:through

时间:2013-03-11 22:15:26

标签: ruby-on-rails

我不确定我理解rails多态。 在Java中,您可以使用相同的Objecttype创建对象: http://www.fh-kl.de/~guenter.biehl/lehrgebiete/java2/j2-08-Dateien/abb.8.10.jpg

 Person trainer = new Trainer()
 Person sportler = new Trainer()

在Rails中http://guides.rubyonrails.org/association_basics.html#polymorphic-associations

在这个例子中:图片可以来自员工或产品,听起来很奇怪,因为这不是真正相同的类型。

我是否理解真正的目的:在同一个容器中保存一个人或图像数组?

在我的铁轨项目中:我有几个人:运动员,训练师和客人。他们是人的儿子(继承)。 我想我符合继承理由。

还有另一个名为exercise的课程。

运动员和训练师可以创造练习。

所以我想使用多态。练习可以来自训练师或运动员。与rails页面的示例一样,图像可以来自员工或产品。

我是否符合最佳做法?

如何实现has_many:通过多态? 不可能使用具有多态性的habtm assoziation。 你必须定义一个额外的类,但究竟是怎么做的?

1 个答案:

答案 0 :(得分:0)