我有一个rails应用程序(rails版本2.1.0),今天我发现了一个非常奇怪的错误。
货币值(精度为8且比例为2的mysql十进制列)为86.02。但是,number_to_currency方法返回“$ 86.20”。这仅在生产服务器中发生。我的dev服务器正确返回。生产服务器是red hat,dev是ubuntu。
这也在控制台中得到证实。
>> p.deposit_total.to_s
=> "86.02"
>> helper.number_to_currency p.deposit_total
=> "$86.20"
这是一个已知问题吗?
感谢。
萨姆
答案 0 :(得分:0)
对我们来说,这个问题是由错误的次要版本的ruby引起的。请参阅:https://rhn.redhat.com/errata/RHBA-2010-0012.html
有问题的服务器:
[auser@aserver01 ~]$ rpm -qa | grep ruby
ruby-libs-1.8.5-5.7
ruby-rdoc-1.8.5-5.7
ruby-1.8.5-5.7
ruby-devel-1.8.5-5.7
ruby-irb-1.8.5-5.7
没有问题的服务器:
[auser@aserver02 ~]$ rpm -qa | grep ruby
ruby-1.8.5-5.5
ruby-ri-1.8.5-5.5
ruby-irb-1.8.5-5.5
ruby-rdoc-1.8.5-5.5
ruby-libs-1.8.5-5.5
ruby-devel-1.8.5-5.5