0

uploads4 つの異なるアプリとユーザーの間の関係を保持するテーブルがあるとします。

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列に依存している場合dvds、テーブルとRails内のテーブルの間のモデル関係を適切に構築するにはどうすればよいですか?uploads

SQLを使用すると、次のように簡単に実行できます。

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

しかし、Rails でこの関係を作成する方法がわからず、これに関する多くの情報が見つかりませんでした。

ありがとう

4

2 に答える 2

0

データベースを再編成して列挙型をルックアップテーブルにすることができます。それを実装する非永続モデルを作成できます。

データベースではなくモデルから始めた場合、mysql の enum 型に近づくことはできませんでした。そのため、多くを見つけるのに苦労しています。

私のアドバイスはそれを取り除く...

于 2012-09-10T11:25:36.500 に答える
0

列挙型列との関係を作成する方法についてはあまり考えていませんが、アプリ内の 4 つのモデルで 1 つのアップロード モデルがある場合は、ryanpolymorphic associationが優れた railscastsを使用できます

于 2012-09-10T11:18:47.673 に答える