建立数据库关系:一个产品与另一个产品兼容

Building database relationship: a product compatible with another product

我正在 Rails 上使用 Ruby 构建一个数据库,主要用于存储产品。 我主要关心的问题之一是,在未来,我希望能够知道这两种产品的兼容性。

我不知道如何在 "a Rails way" 中构建它。首先,我正在考虑用两个 product_id 创建一个新的 table Compatibility,但我想还有一个更优雅的解决方案?

Self-Referential Association 是解决方案。一种产品与另一种产品兼容,因此关系是两个 相同 项之间的关系。

其次,这也是反比关系。如果产品A兼容产品B,那么产品B也兼容产品A。link中提到的railscasts清楚地说明了这个东西。