2011-08-04 46 views
0

我试图通过stackoverflow来补救我的情况,但不幸的是我只是让自己彻底困惑。Rails 3中的Has_and_belongs_to_many 3

我有两个has_many has_many关系:用户has_and_belongs_to_many角色和角色has_and_belongs_to_many豆荚。我已经设置了正确的表和所有的东西(即role_users和pod_roles表):我知道它至少有部分功能,因为我可以执行@ user.roles并获取所有用户的角色。

但是,我想更进一步:我希望能够执行类似于@ user.roles.pods的操作,以获取与该用户有关的所有窗格。 @ user.roles.pods无效后:以下是我试图做的:

@current_user_roles = current_user.roles 
@pods = Array.new 
@current_user_roles.each do |role| 
    @pods.push(role.pods) 
end 
@pods.each do |pod| 
    puts(pod.name+"-----------------") 
end 

没有工作。这只是为了获得一些超级简单的东西 - 试图让所有的豆荚的名字看起来像我可以告诉它是否工作。

回答

0

这里的东西,你可以尝试:

@pods = current_user.roles.collect { |role| role.pods }.flatten