Ruby on Rails: Bestellen Sie Benutzer basierend auf den durchschnittlichen Bewertungen mit den meisten Rezensionen?

Ich kann die Artikel und deren Bewertungen im Shop anzeigen. Wie bekomme ich die Top-Artikel mit den meisten Bewertungen? Meine Bewertungen befinden sich in einer anderen Datenbanktabelle als Shop und Artikel.

Regler

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

Aussicht

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

Gibt es eine einfache Methode, bei der ich basierend auf der höchsten Bewertung mit den meisten Bewertungen oder so etwas bestellen kann? Oder ist es vielleicht besser, die höchste Bewertung und die meisten Bewertungen zu trennen und die Benutzer auf einen Link klicken zu lassen, um zu filtern?

Vielen Dank

BEARBEITEN:

Also habe ich eineshop, item, review Tabelle.

In meinemEinzelteilmodell

has_many :reviews, as: :reviewable
has_many :shops

In meinemBewertungen Modell undGeschäfte Modell ist

belongs_to :user

In meiner Bewertungstabelle wird festgelegt, dass, wenn ein Benutzer ein Element bewertet, der Datenbank ein Datensatz hinzugefügt wird und ich das verwendeaverage aller Datensätze, die mit diesem Artikel verknüpft sind, und zeigen ihn im Shop an.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage