2010-08-14 83 views
2

定义了fixnums的“megabytes”方法在哪里?据我了解,它不是一个核心ruby方法,因为它只有在rails中可用。Rails .megabytes方法返回错误值

ruby -e 'puts 5.megabytes' 

在默认安装的轨道返回:

Loading development environment (Rails 2.3.8) 
>> 5.megabytes 
=> 5242880 

在我的应用程序有些东西错点发生,现在兆字节返回错误值...

Loading development environment (Rails 2.3.8) 
>> 5_000_000 
=> 5000000 
>> 5.megabytes 
=> 5120 
>> 5.kilobytes 
=> 5 
>> 5.bytes 
=> 5 

我猜一些宝石做了一些非常错误的事情,但我现在很难跟踪它到源头。

任何想法如何找出问题出在哪里?

回答

6

问题出现在上帝宝石中,原因不明的原因是用数字覆盖了这些方法。这可能很容易破坏应用程序,因为我有很多基于这些方法的验证。运行

有一般无需包含在应用程序本身的神,但有些人可能会以自动部署...

我了解创业板的一些信息,并且人们普遍认为这是相当由于大量内存泄漏,通常会中断。有关于此的任何建议?

1

Ouch。现在我知道我为什么要将100兆字节渲染成Flash上​​传器,导致它接受字节而不是千字节。在我将宝石添加到Gemfile后,它破裂了。这确实非常危险。

Bluepill是上帝的另一种选择。 Bluepill的创造源自对上帝的沮丧。这里有一个很好的总结为什么Bluepill创建http://asemanfar.com/Why-We-Wrote-Bluepill当然这是作为一个宝石可用,所以你可以用它来代替。 GitHub存储库也链接到文章中。

我正在考虑做开关。感谢您的领导!

的话题完全,因为它是关于字节转换器,但因为它是过程监控与上帝是原因,它可能是在这个问题上比绊倒有用其他。

希望这会有所帮助。

+0

在发生此问题后,我很快转到bluepill。 :-) – mdrozdziel 2010-10-30 13:51:59