如何在json rails 4中连接符号

时间:2015-09-06 04:52:40

标签: ruby-on-rails ruby ruby-on-rails-4

我需要在'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

中添加'%'符号

4 个答案:

答案 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)