Rails多态关联有什么好处?提供一些DRYed代码?

时间:2015-07-29 12:45:51

标签: ruby-on-rails polymorphism

我知道如何构建它,我知道它减少了表的数量。我们假设我们有一个用户表和一个书籍表,并且都有照片。

我们的照片表可以包含imageable_id和imageable_type列。但这给我们带来了什么好处呢?

一个好处:
1.由于我们不必为每个拥有Photo的表构建一个model_id列,因此我们在此Photo表中减少了1列。这样......当照片属于一张桌子而不是另一张桌子时,我们会减少列中的空值...但这是速度优势吗?组织优势?

1 个答案:

答案 0 :(得分:0)

我不会忽视DRY的好处。我的意思是,使用多态关联,您可以将可成像组件的预期行为链接到任何模型。您不仅可以更好地关注分离,还可以重复使用大量代码。