我的api有帖子。每个帖子都有许多赞成和反对的票。 我希望在每次进行增票/增票时更新增票和减票的百分比。
在我的VotesController中,我有:
#PUT /downvote/:id
def downvote
@post = Post.find(params[:id])
@post.downvotes = @post.downvotes + 1
@post.recalculate_percentages()
@post.save
render json:@post
end
在我的Post模型中,我有一种刷新这些值的方法:
def recalculate_percentages
self.downvotes_percentage = self.downvotes / (self.downvotes + self.upvotes)
self.upvotes_percentage = self.upvotes / (self.downvotes + self.upvotes)
end
为什么这些更改没有任何效果。在呈现的JSON中,百分比值保持为0。
答案 0 :(得分:1)
尝试to_f:
votes = (self.downvotes + self.upvotes).to_f
self.downvotes_percentage = self.downvotes / votes
self.upvotes_percentage = self.upvotes / votes