2016-11-08 30 views
0

我有實體:進程和用戶。他們有多對多的關係。但是用戶可以分配到不同的角色:admin和owner(或者兩者),並且我在鏈接表中使用布爾列。Has_and_belongs_to_many附加條件

這裏是我的結構:

PROCESSES 
    id 
    name 

USERS 
    id 
    email 

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

有沒有什麼辦法,使在布爾標誌使用情況這些模型兩種不同has_and_belongs_to_many關聯? 我想用這樣的:

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

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

有沒有辦法做到這一點?

回答