Rails中将Integer与String进行比较失败

时间:2019-07-09 05:21:05

标签: ruby-on-rails json sorting ruby-on-rails-5

在我的资金管理者中,我定义了此方法以按金钱获得排序列表,但出现错误comparison of Integer with String failed。请帮助我找出问题所在。 以下是示例JSON记录。

{
  "Name":"Tony",
  "xyz":0,
  "money":"7"
}


  def sort_money
    require 'json'
    require 'csv'
    f = File.open("app/assets/javascripts/sample.json")
    @mylist = JSON.parse(f.read).sort_by{ |v| v["money"] }
  end

1 个答案:

答案 0 :(得分:2)

您的json文件包含参数money的整数和字符串。使用to_i将字符串转换为整数。像这样:

@mylist = JSON.parse(f.read).sort_by{ |v| v["money"].to_i }