Ruby on Rails: заказывать пользователей на основе среднего рейтинга с большинством отзывов?

Я могу отображать предметы и их отзывы, которые есть в магазине. Как я могу получить лучшие позиции с большинством отзывов? Мои отзывы находятся в другой таблице базы данных, чем магазин и товар.

контроллер

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

Посмотреть

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

Есть ли простой способ, где я могу заказать на основе самого высокого рейтинга с большинством отзывов или что-то? Или, может быть, лучше разделить наивысший рейтинг и большинство отзывов и позволить пользователям нажимать на ссылку для фильтрации?

Спасибо

РЕДАКТИРОВАТЬ:

Итак, у меня естьshop, item, review Таблица.

В моеммодель предметов

has_many :reviews, as: :reviewable
has_many :shops

В моеммодель отзывов а такжемодель магазинов является

belongs_to :user

В моей таблице рецензий установлено, что когда пользователь просматривает элемент, он добавляет запись в базу данных, и я используюaverage всех записей, связанных с этим предметом и отображать его в магазине.

Ответы на вопрос(1)

Ваш ответ на вопрос