2016-03-20 3 views
0

サイトのユーザーが各ユーザーのグループを確認するためのテーブルを作成しようとしています。グループテーブルとPeopleテーブルがあります。今私は、一人の人のグループだけを見ることができます。私は明確化のために私のコードを表示します。これは私のテーブルです。ビューにHABTMデータを持ち込みます

<table class="table table-striped"> <thead> <tr> <th><%= sortable 'phone_number', 'Phone Number'%></th> <th><%= sortable 'subscribed', 'Subscribed State'%></th> <th><%= sortable 'groups' %></th> </tr> </thead> <tbody> <% @groups.each do |group| %> <% @people.each do |person| %> <tr> <td><%= person.phone_number %></td> <td><%= person.subscribed %></td> <td><%= group.name %></td> <% end %> <% end %> </tr> </tbody> </table>

今、すべてのグループは、彼らがそれぞれのグループに属しているかどうかを一人一人のためにアップ示しています。どのようにこれを修正するための任意のアイデア?

答えて

1

あなたのグループと人物のモデルを確認する必要がありますが、あなたがする必要があるのは、person.groupsのループです。あなただけの個々のpersonに属するgroupsを反復処理ではなく、データベース内のすべてのgroupsされるだろう

<tbody> 
    <% @people.each do |person| %> 
    <tr> 
     <td><%= person.phone_number %></td> 
     <td><%= person.subscribed %></td> 

     <% person.groups.each do |group| %> 
      <td><%= group.name %></td> 
     <% end %> 

     <% end %> 
    </tr> 
    </tbody> 

その方法:このような何か。

このように書式を設定すると、すべての人が同じ数のグループに属している場合を除いて、テーブルの行の長さが異なることに注意してください。

1

使用する各グループ内のすべてのユーザーを反復処理する

group.people.each do |person| 

代わりの

@people.each do |person| 

関連する問題