2010-08-14 86 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