1

我有一个 rails 应用程序(rails 版本 2.1.0),今天我发现了一个非常奇怪的错误。

货币值(精度为 8 且小数位数为 2 的 mysql 十进制列)为 86.02。但是,number_to_currency 方法返回“$86.20”。这只发生在生产服务器中。我的开发服务器正确返回。生产服务器是red hat,dev是ubuntu。

这也在控制台中得到确认。

>> p.deposit_total.to_s 
=> "86.02"
>> helper.number_to_currency p.deposit_total 
=> "$86.20"

这是一个已知的问题?

谢谢。

山姆

4

1 回答 1

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
于 2010-07-08T00:45:17.497 回答