나는이 개 수업을 :루비 가입과 범위 및 주문
class Solution
has_many :solution_votes
class SolutionVote
belongs_to :solution
내가보기에 이런 일이 : 내가 좋아하는 것이 무엇
Proposed Solution A - 2 votes up - 5 votes down
Proposed Solution B - 1 vote up - 0 votes down
Proposed Solution C - 0 votes up - 0 votes down
Proposed Solution D - 7 votes up - 2 votes down
Proposed Solution E - 3 votes up - 1 vote down
가장하여이를 정렬하는 것입니다 UP의 투표 있도록 대신 다음과 같습니다
Proposed Solution D - 7 votes up - 2 votes down
Proposed Solution E - 3 votes up - 1 vote down
Proposed Solution A - 2 votes up - 5 votes down
Proposed Solution B - 1 vote up - 0 votes down
Proposed Solution C - 0 votes up - 0 votes down
지금까지이 있습니다
scope :most_votes_up,
select("solutions.*, count(solution_votes.id) AS votes_count").
where(['solutions.state = ?', 'Proposed']).
joins(:solution_votes).
group("solutions.id").
order("votes_count DESC")
이 출력 생산
:
Proposed Solution D - 7 votes up - 2 votes down
Proposed Solution A - 2 votes up - 5 votes down
Proposed Solution E - 3 votes up - 1 vote down
Proposed Solution B - 1 vote up - 0 votes down
하지만 ...를 아직도 데 문제는 다음과 같습니다없이 투표에
1. 제안 된 솔루션은 위의 예에서 (제안 된 솔루션 C 누락이 없습니다 표시된 목록에서)
2. 어떻게 최대 투표 수를 계산합니까? (지금, 최대 투표 수 (최대 투표 수)와 최대 투표 수 (최대 투표 수)가 어느 제안 된 솔루션을 기준으로 정렬됩니까? 내가 PostgreSQL을
방금 내 0 표가보기에 표시되지 않는 이유를 알았습니다. 아직 내 기록이 없습니다. solutions_vote 테이블 그래서, 나는 무엇을해야합니까? 나는 여전히 그들을 볼 필요가있다. – purplerice