2016-11-08 14 views
0

私はエンティティを持っています:プロセスとユーザ。彼らは多対多の関係を持っています。しかし、ユーザーは異なる役割(管理者と所有者(あるいはその両方))で処理するように割り当てることができ、リンクテーブルではブール型の列を使用します。ここで追加条件付きのHas_and_belongs_to_many

は私の構造体である:

PROCESSES 
    id 
    name 

USERS 
    id 
    email 

PROCESSES_USERS 
    id 
    process_id: FK 
    user_id: FK 
    admin: Boolean 
    owner: Boolean 

はブールフラグの状態を使用して、これらのモデルには2つの異なるhas_and_belongs_to_manyアソシエーションの関連付けを作成する方法はありますか? 私はこのようにそれを使用したい:

process = Process.find(1) 
process.owners.size 
process.admins.size 

# Maybe even joins 
Process.joins(:owners).includes(:owners) 

はこれを行う方法はありますか?

答えて

関連する問題