Ruby on Rails: zamawiaj użytkowników na podstawie średnich ocen z większością recenzji?

Mogę wyświetlić elementy i ich recenzje, które znajdują się w sklepie. Jak zdobyć najlepsze przedmioty z większością opinii? Moje recenzje są w innej tabeli bazy danych niż sklep i przedmiot.

Kontroler

@shop = Shop.find(params[:id]) 
@item = Item.where(:shop_name => @shop.name)

Widok

<% @item.each do |u| %>
  <%= u.reviews.average('rating') %>
  <%= u.reviews.count %>
<% end %>

Czy istnieje łatwa metoda, w której mogę zamawiać w oparciu o najwyższą ocenę z większością recenzji lub czymś? A może lepiej oddzielić najwyższą ocenę od większości recenzji i pozwolić użytkownikom na kliknięcie linku do filtrowania?

Dzięki

EDYTOWAĆ:

Więc mamshop, item, review stół.

W moimmodel przedmiotów

has_many :reviews, as: :reviewable
has_many :shops

W moimrecenzje modelu imodel sklepów jest

belongs_to :user

W mojej tabeli recenzji jest ustawiony tak, że gdy użytkownik przegląda element, dodaje rekord do bazy danych i używamaverage wszystkich rekordów powiązanych z tym elementem i wyświetlających go w sklepie.

questionAnswers(1)

yourAnswerToTheQuestion