2016-03-30 17 views
0

has_and_belongs_to_manyグループとGroup HABTM PeopleというPeopleモデルを持つアプリケーションを構築しています。私はいくつの人が特定のグループにいるかを示す統計ページを作成しようとしています。誰かが、特定のモデルにいくつのレコードが含まれているかをテーブルに表示する方法を知っていますか?明確にするためのコードをいくつか示します。Rails Active Record関連トピック

ここには、すでにある日付を表示する方法があります。

def subscribed_num 
@person = Person.all.subscribed.count 
@engaged = Person.all.count 
end 

はここに今、私は特定のグループにどのように多くの人をリストし、両方のモデルPeopleGroupsを使用したい私の見解

<div class="container"> 
<h2>Statistics</h2> 

<p class="total-number">All Engaged People: <%= @engaged %></p> 
<p class='total-number'>Subscribed People: <%= @person %></p> 
<p><%= link_to "Send Message", root_path %></p> 
</div> 

です。

答えて

1

件数がわかりやすい場合は、.countに電話してください。あなたのケースでは

(グループの人々の数を示す):それは唯一 (カウントを返します。すなわち、それは実際にはしないように.count方法は、お使いのSQLクエリを変更すること

@group = Group.first 
count = @group.people.count 

注意すべてのレコードをメモリに読み込みますが、これは遅くなる可能性があります)。

あなたは、私がこれによって何を意味するかわからない場合は、おそらくあなたは死のキスをすることができ `レコードの膨大な数のテーブルの上に.all`を呼び出すthis stackoverflow questionthis section of the rails guide

+0

を見ているは​​ずです。すべてをメモリにロードすると、サーバが破壊される可能性があるので、避けるのが最善です。 – tadman

関連する問題