4

以前にこの配列エラーを見た人はいますか? 配列を返すヘルパー メソッドがあります。私のラップトップの開発モードでは、期待される形式で配列を返します。

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
4

1 に答える 1

7

おそらくRuby1.9で開発し、Ruby1.8にデプロイしています。配列を処理するためのデフォルトの動作は異なります。

Ruby 1.8array.to_sでは、と同等array.join('')です。

Ruby 1.9array.to_sでは、と同等array.inspectです。

両方で適切な動作が必要で、JavaScriptを使用している場合は、array.to_json代わりにJSONとしてレンダリングすることをお勧めします。

于 2012-11-30T08:40:17.733 に答える