2011-08-04 16 views
0

私は自分の状況を改善するためにstackoverflowを調べようとしましたが、残念ながら私は自分自身を徹底的に混乱させました。Has_and_belongs_to_many in Rails 3

has_manyからhas_manyまでの2つの関係があります。ユーザーhas_and_belongs_to_many役割と役割has_and_belongs_to_many Pods。私はすでに適切なテーブルとすべてのもの(つまり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