has_many、has_and_belongs_to_many和多态关联之间是否有区别?为什么我要使用多态关联。
发布于 2020-11-12 07:59:37
has_many、has_and_belongs_to_many和多态关联是解决不同问题的方法。
has_many意味着您有一个具有许多其他子对象的父对象。虽然子对象只属于该特定的parent.has_and_belongs_to_many,但它意味着对象不是在层次结构中构造的。两边的物体可以连接到多个其他物体上。一个很好的例子可能是标签系统。一个东西可以用多个标签来标记。但是,这些标记不仅属于一种东西,它们还可以添加到其他东西中,当关联没有指向一个特定的其他模型时,就可以使用too.polymorphic associations。一个例子可能是一个Author模型,它有一个created_work关联,但是它没有指向一个被分离的CreatedWork模型。但是,它可以返回不同的东西,比如Book的实例、Play和Article,或者简单的Comment,它们都是不同的类,具有不同的数据库表。https://stackoverflow.com/questions/64799665
复制相似问题