代码之家  ›  专栏  ›  技术社区  ›  b. e. hollenbeck

Rails类中的多个外键列有问题吗?

  •  0
  • b. e. hollenbeck  · 技术社区  · 16 年前

    2 回复  |  直到 16 年前
        1
  •  1
  •   jakber    16 年前

    您正在实现多对多关系。

    使用带有tag_id、foo_id的联接表。然后在模型类中使用has_and_belongs_to_many或has_many:through。

    为酒吧使用单独的连接表。

    http://blog.hasmanythrough.com/2006/04/20/many-to-many-dance-off

        2
  •  1
  •   nfm    16 年前

    你可以像jakber所说的那样拥有单独的连接表,也可以使用单表继承,将foo标签和bar标签存储在同一个表中,并使用 type 字段,指定是否 id 是为a foo 或为a bar .

    你可能也喜欢 acts _ as _ taggable _ on _ steroids 插件,它非常简单,可以很好地处理标签。