rails数组在生产中输出奇怪的格式

时间:2012-11-30 08:30:55

标签: ruby-on-rails ruby

之前有人看过这个数组错误吗? 我有一个返回数组的辅助方法。在笔记本电脑上的开发模式下,它以预期的格式返回数组:

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

1 个答案:

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