Ruby on Rails: ¿Ordenar los usuarios según las calificaciones promedio con la mayoría de las críticas?

Soy capaz de mostrar los artículos y sus comentarios que están dentro de la tienda. ¿Cómo consigo los mejores artículos con la mayoría de las revisiones? Mis comentarios están en otra tabla de base de datos que la tienda y el artículo.

Controlador

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

Ver

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

¿Existe un método fácil en el que pueda realizar pedidos según la calificación más alta con la mayoría de las reseñas o algo así? ¿O tal vez es mejor separar la calificación más alta y la mayoría de las revisiones y permitir a los usuarios hacer clic en un enlace para filtrar?

Gracias

EDITAR:

Así que tengo unshop, item, review mesa.

En miartículos modelo

has_many :reviews, as: :reviewable
has_many :shops

En mimodelo de opiniones ymodelo de tiendas es

belongs_to :user

En mi tabla de revisiones, está configurado de modo que cuando un usuario revisa un elemento, agrega un registro a la base de datos y uso elaverage de todos los registros que están asociados con ese artículo y mostrarlo dentro de la tienda.

Respuestas a la pregunta(1)

Su respuesta a la pregunta