2014-11-18 3 views
1

에 의한 주문 기록은 나는 다음과 같은 방법으로 사용자 모델을 가지고있다. 내가 가장 좋아하는/싫어하는 비율을 가진 상위 10 명의 사용자와 순위를 만들고 싶습니다. 레일 모델 방법 결과

나는
User.order('like_dislike_proportion DESC').limit(10) 

를 사용하여 시도하지만 like_dislike_proportion이 데이터베이스에 영구적 인 속성이 아니기 때문에 그것은 작동하지 않습니다.

어떻게 해결할 수 있습니까?

답변

1
ranking = User.all.map { |u| 
    {name: u.name, proportion: (u.likes.to_f/u.dislikes.to_f)} 
}.sort_by { |r| r[:proportion] }