为什么Rails to_json给出的结果与Ruby to_json不同?

时间:2016-03-05 15:37:00

标签: ruby-on-rails ruby json

我有一个Ruby脚本,它将哈希转换为json并将其写入文件。我使用to_json方法。

在文件中,我得到以下结果:

{"name":"Bob","age":42}

我将此脚本复制到我的Rails应用程序的lib目录中的模块中,现在,当我从控制器调用它时,我将以下结果写入文件中:

{"name":"Bob","age":"42"}

请注意,42现在是"42"。这是为什么?如何强制Rails将其写为42而不是"42"

这会导致我的问题,因为我的应用正在处理文件,当将其转换回哈希时,int现在是一个字符串。

修改

似乎未安装json gem。这很奇怪,因为我的Ruby脚本和Rails版本都可以调用to_jsongem list还在已安装的宝石列表中显示json 1.8.3。不过,自从我运行gem install json以来,一切都按预期运行。整数被整理为整数。

任何人都可以解释为什么我的Ruby脚本中的to_jsonrequire 'json'仍在工作,即使我不能从irb require 'json'开始?

1 个答案:

答案 0 :(得分:0)

即使TButton显示已经安装了json,解决方案也只是运行TButton