在 Ruby-on-Rails 中,这称为“多态关联”。
我的应用程序中有几Commentable
件事,每个表格如下:
Post
id | title | text | author (FK:Person.id) | ...
Person
id | name | ...
Photo
id | title | owner (FK:Person.id) | path | ...
我想添加一个Comments
表格,如下所示:
Comments
id | commentable_type | commentable_id | text | author (FK:Person.id)
我知道我以这种方式失去了数据库的引用完整性,但唯一的其他选择是拥有多个Comments
表:PostComments
, PersonComments
, PhotoComments
, ...
现在的问题:
我如何构建一个表单来了解如何进行查找,首先是从获取表名Comments.commentable_type
,然后从获取 id Comments.commentable_id
?