我不确定我是否了解 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中:
在这个例子中:图片可以来自员工或产品,听起来很奇怪,因为这不是同一类型。
我是否了解真正的目的:将对象保存在同一个容器中的一组人或图像?
在我的 Rails 项目中:我有几个人:运动员、教练和客人。他们是人的儿子(继承)。我想我符合继承的原因。
还有一个名为练习的类。
运动员和教练可以创建练习。
所以我想使用多态。练习可以来自教练或运动员。就像在 rails 页面的示例中一样,图像可以来自员工或产品。
我符合最佳做法吗?
如何通过多态实现 has_many :through?不可能使用与多态的关联。您必须定义一个额外的类,但究竟如何?