From 41d63afc2fd6d574c2bdb8719e82093ca7510042 Mon Sep 17 00:00:00 2001 From: Sohom Dutta Date: Fri, 15 Nov 2024 18:26:44 -0800 Subject: [PATCH] Adding support for average rating --- app/models/item.rb | 4 ++++ app/views/item/index.html.erb | 1 + app/views/item/show_listing.html.erb | 1 + 3 files changed, 6 insertions(+) diff --git a/app/models/item.rb b/app/models/item.rb index 87586ef..b763b37 100644 --- a/app/models/item.rb +++ b/app/models/item.rb @@ -6,4 +6,8 @@ class Item < ApplicationRecord validates :name, presence: true validates :description, presence: true validates :price, presence: true, numericality: { greater_than: 0 } + + def average_rating + ratings.average(:score).to_f.round(2) + end end diff --git a/app/views/item/index.html.erb b/app/views/item/index.html.erb index 0988295..940c0f3 100644 --- a/app/views/item/index.html.erb +++ b/app/views/item/index.html.erb @@ -15,6 +15,7 @@

Price: <%= number_to_currency(item.price) %>

Seller: <%= item.user.username %>

Reviews: <%= item.ratings.count %>

+

Average Rating: <%= item.average_rating %> / 5

<% end %> diff --git a/app/views/item/show_listing.html.erb b/app/views/item/show_listing.html.erb index 827ff67..d16698f 100644 --- a/app/views/item/show_listing.html.erb +++ b/app/views/item/show_listing.html.erb @@ -2,6 +2,7 @@

Description: <%= @item.description %>

Price: <%= number_to_currency(@item.price) %>

Seller: <%= @item.user.username %>

+

Average Rating: <%= @item.average_rating %> / 5

<% if session[:user] %> <%= form_with url: create_order_path(@item), local: true do |form| %>