i followed a video tutorial on How To Build A Movie Review App with Rails 4.
and i found this problem, when i write a review without rating this problem happens
movies_controller.rb
def show
@reviews = Review.where(movie_id: @movie.id).order("created_at DESC")
if @reviews.blank?
@avg_review = 0
else
@avg_review = @movie.reviews.average(:rating).round(2)
end
end
i tried to do this but it seems that it's not working to
def show
@reviews = Review.where(movie_id: @movie.id).order("created_at DESC")
if @reviews.blank?
@avg_review = 0
elsif !@reviews.blank? && @movie.rating.blank?
@avg_review = 0
else
@avg_review = @movie.reviews.average(:rating).round(2)
end
end
please is there in solution for this problem
please try this
def show
@reviews = @movie.reviews.order("created_at DESC")
unless @reviews.present?
@avg_review = 0
else
@avg_review = @reviews.average(:rating).present? ? @reviews.average(:rating).round(2) : 0
end
end