votes: fix division by zero in upvote ratio.
Fix a division by zero when calculating the upvote ratio in the votes tooltip. This could happen if the post had votes according to the post_votes table, but didn't have any votes according to the up_score and down_score. This should never happen, yet it did happen for post 2248039 and post 2959269.
This commit is contained in:
@@ -19,9 +19,13 @@ class PostVotesTooltipComponent < ApplicationComponent
|
|||||||
vote.is_positive? ? upvote_icon : downvote_icon
|
vote.is_positive? ? upvote_icon : downvote_icon
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def vote_count
|
||||||
|
post.up_score + post.down_score.abs
|
||||||
|
end
|
||||||
|
|
||||||
def upvote_ratio
|
def upvote_ratio
|
||||||
return nil if votes.length == 0
|
return nil if vote_count == 0
|
||||||
sprintf("(%.1f%%)", 100.0 * post.up_score / (post.up_score + post.down_score.abs))
|
sprintf("(%.1f%%)", 100.0 * post.up_score / vote_count)
|
||||||
end
|
end
|
||||||
|
|
||||||
def voter_name(vote)
|
def voter_name(vote)
|
||||||
|
|||||||
Reference in New Issue
Block a user