2011-07-19 3 views
0

私のデータモデル:ユーザー、投票、アイテムActiveRecord:個別投票のカウントを返す方法

ユーザーがだけ最新のものを数え、私は項目の上下投票の合計数を返すようにしたい項目

に何度も投票することができます指定されたユーザー

私は明確なUSER_IDを選択し、投票の値によってグループ化するようなものを考えていたが、私は、私は明確なピックアップ最新のものを作ると思いますかわからない。..

私はこれをあなたがcreated_atでダウン票を注文することができcounter_cacheのミックスはどうと、あなたの項目モデル内部

has_many :up_votes, :class_name => "Vote", :conditions => {:condition_for_upvote => true}, :dependent => :destroy 
has_many :down_votes, :class_name => "Vote", :conditions => {:condition_for_upvote => false}, :dependent => :destroy 

3つのファインダーメソッド..

+1

あなたのモデル、団体、投票の保存方法について教えてください。 – microspino

答えて

1

Soution 1.

レール。

Soution 2.

またscopesがあなたの投票モデル内の特定の順序のニーズにそれらを作り上げると、取得した後、それらを数えることができます。

+0

私はあなたが書いたものを正確に使っていませんでした(私は条件ビットとは分かりませんでした)が、アイテムにカウントをキャッシュするつもりです。ソリューションで何を言っていたのかと思います1 –

関連する問題