我需要在'votes_count'字段中添加'%'符号
我的控制器,
@celebrity = Celebrity.includes(:category).order(votes_count: :desc)
我在这里计算总票数
total_votes = Vote.count.to_f
改变总数没有。投票百分比
@celebrity.each do |celeb|
celeb["votes_count"] = (celeb.votes_count / total_votes * 100).round(2)
end
在这里,我正在变成json
respond_to do |format|
format.json { render json: @celebrity.to_json(:include =>{:category => {:only => [:category]}})}
end
我的输出是 [{ “ID”:3 “名称”: “saravana”, “性别”:假 “CATEGORY_ID”: “1”,的 “votes_count”:25 }]
我的问题是如何在votes_count
中添加'%'符号答案 0 :(得分:1)
你可以简单地这样做:
@celebrity.each do |celeb|
votes_count = ((celeb.votes_count / total_votes * 100).round(2))
celeb["votes_count"] = "#{votes_count} %"
end
答案 1 :(得分:0)
这样做:
@celebrity.each do |celeb|
celeb["votes_count"] = (celeb.votes_count / total_votes * 100).round(2).to_s << "%"
end
答案 2 :(得分:0)
@celebrity.each do |celeb|
celeb["votes_count"] = ((celeb.votes_count / total_votes * 100).round(2)).to_s + "%"
end
答案 3 :(得分:0)
MVC的真正想法是将数据保存在其模型中 - 未格式化并在视图中呈现它,以及您需要它的方式
Rails正在给你number_to_percentage
http://apidock.com/rails/ActionView/Helpers/NumberHelper/number_to_percentage
# view.html.erb
<%= number_to_percentage celeb.votes_count %>
//因为我记得你的上一个问题: 您需要保存百分比的百分比并保存到数据库 如果你没有失去表现。想象你有1000个独身者。为什么你想要计算每个页面请求1000倍的任何百分比?那是愚蠢的。如果你只想计算当前大提琴选择的百分比(比方说,top3并且他们有60/30/10%)那么你的数学是错的,因为你把%与所有选票相关联而不是current_selection_votes_count)