RoR:类方法无效

时间:2018-09-18 16:13:55

标签: ruby-on-rails ruby

我的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。

1 个答案:

答案 0 :(得分:1)

尝试to_f

votes = (self.downvotes + self.upvotes).to_f
self.downvotes_percentage = self.downvotes / votes
self.upvotes_percentage = self.upvotes / votes