2013-12-09 34 views
2

當角色與外部模型有不同關聯時,您如何建模用戶角色?當角色與外部模型有不同關聯時,您如何建模用戶角色

我有兩個角色,老師和家長。老師有聯繫學校,家長不要。這使得很難在單一模型中模擬教師和家長。

我不希望他們分開他們的狀態(場)的模式是相同的,他們都擁有一個「有,屬於衆多」家有兒女(HABTM)的關聯。

我一直在使用它解決了我的眼前問題,但最終還是造成了很大問題比較多單表繼承(STI)嘗試。我希望得到一個「繼承的組合」解決方案。

+0

您是否考慮過外部授權框架,如XACML?它會讓你根據任何一種模型表達關係。但是我不知道在Ruby中直接支持XACML,所以你必須使用外部引擎。 –

+1

@David,在rails中有像cancan那樣的處理授權的寶石,但我認爲我的問題是在數據庫級別。 – dangerousdave

回答

2

,如果你想保持一個班級,有條件的關係可以幫助你

class User < AR 
    has_one :school, conditions: { role: 'teacher' } 
end 

仍有點古怪,但比性病更好

相關問題