2010-05-03 106 views
0

好吧,所以我對Ruby和Rails都很陌生,我試圖做我認爲被稱爲嵌套關聯(請糾正我,如果這是錯誤的術語)。我目前有一個User模型和一個Domains模型,並且我在兩者之間設置了許多到多個關聯(使用has_many:through),並且這很好地工作。Rails嵌套關聯問題

我現在想要擴展這個功能,以允許每個用戶每個域有一個角色(例如,User1是Domain1的成員並具有「Admin」角色)。我已經建立了一個單個字段(名稱:字符串)的角色模型,並創建了三個角色。我還爲連接表(成員資格)添加了一個role_id列。我預期(這可能是問題),以便能夠只使用

user1 = User.find(1) 
user1.domains.first 
=> <some domain object> 
user1.domains.first.role 
=> <some role object> 

但這不是返回定義錯誤的方法。

任何人都可以告訴我我沒有把握什麼嗎?

我的模型類可以在http://gist.github.com/388200

回答

0

可以看出你不必domainrole之間的關係,這是試圖使用user1.domains.first.role當你得到錯誤的原因。

+0

我仍然努力得到這個工作範圍的域。我希望每個用戶在他所屬的每個域中都有一個獨特的角色。你能解釋一下我需要什麼樣的聯繫來達到這個目的嗎? – 2010-05-06 23:31:03