0

uploads给定包含 4 个不同应用程序和用户之间关系的表:

field    type
dogTag   int (foreign key to dvd)
app      enum
uploader int (foreign key to user)
mod      string
...

和表dvds

dogTag  int (primary key)
title   string
...

和表users

id    int (primary key)
...

如果它依赖于 ENUM 列,如何在 Rails中正确构建dvds表和表之间的模型关系?uploads

使用 sql 我只需执行以下操作:

JOIN uploads ON uploads.dogTag = dvds.dogTag
WHERE uploads.app = 'dvd'

但是不知道如何在 Rails 中创建这种关系,也没有找到很多这方面的信息。

谢谢

4

2 回答 2

0

我对如何创建与枚举列的关系没有太多想法,但如果它是您的应用程序中的四个模型,并且有一个上传模型,那么您可以使用polymorphic association,ryan 有很好的railscasts

于 2012-09-10T11:18:47.673 回答
0

那么您可以重新组织您的数据库以使枚举类型成为查找表,您可以创建一个非持久模型来实现它。

问题是,如果你从模型而不是数据库开始,你就不会接近 mysql 的枚举类型,这就是为什么你很难找到很多东西,你已经把它放在了低音上。

我的建议是摆脱它...

于 2012-09-10T11:25:36.500 回答