我可以显示商店内的商品及其评论。如何获得评论最多的顶级商品?我的评论在另一个数据库表中,而不是 shop 和 item。
控制器
@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
与该项目关联的所有记录中的一个并将其显示在商店中。