2010-05-03 142 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