我遵循了如何在Rails 4中构建电影评论应用程序中的视频教程。
而且我发现了这个问题,当我写一篇没有评分的评论时,就发生了这个问题
C:\ ruby \ rails \ Sites \ movie_review \ app \ controllers \ 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
我试图这样做,但似乎无法正常工作
def show
@reviews = Review.where(movie_id: @movie.id).order("created_at DESC")
if @reviews.blank?
@avg_review = 0
elsif [email protected]? && @movie.rating.blank?
@avg_review = 0
else
@avg_review = @movie.reviews.average(:rating).round(2)
end
end
请有解决这个问题的方法
请尝试这个
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
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句