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

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

最佳答案

您可能正在 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。

关于ruby-on-rails - rails array 在生产中输出奇怪的格式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13641493/

10-14 15:02
查看更多