之前有人看过这个数组错误吗? 我有一个返回数组的辅助方法。在笔记本电脑上的开发模式下,它以预期的格式返回数组:
var fire =
[[1349083353000, 8.860000000000582], [1349085153000, 19.779999999999745],
[1349086953000, 20.289999999999964], [1349088753000, 29.850000000000364],
[1349090553000, 3.7999999999992724]];
但是生产中的相同代码会返回一种奇怪的数组格式:
var fire = 135175422800015.5135175602800020.0135175782800018.99135175962800012.33135176142800019.13135176322800029.55135176502800020.13135176682800077.34
我已经尝试在任一台机器上的rails控制台中检查输出,并且生产输出同样奇怪的数组格式。我在生产中从rails控制台中创建了一个新数组,它按预期工作,输出正确的数组格式。
有人看到这点奇怪吗?
Rails version:3.2.8
Ruby Version:1.9.3p-125
答案 0 :(得分:7)
您可能正在开发Ruby 1.9并在Ruby 1.8上进行部署。处理数组的默认行为是不同的。
在Ruby 1.8中array.to_s
相当于array.join('')
。
在Ruby 1.9中,array.to_s
相当于array.inspect
。
如果您希望两者都有正确的行为,并且您正在使用JavaScript,则可能需要使用array.to_json
将其呈现为JSON。