1
我最近遇到了一個奇怪的錯誤,只發生在生產模式。覆蓋Ruby類的錯誤僅在生產中體現出來?
我正在使用定義類Achievement(http://github.com/paulca/paths_of_glory/blob/master/app/models/achievement.rb)的榮耀寶石路徑。
在基類,級別定義:
def level(level, options = {})
levels << {:level => level, :quota => options[:quota]}
end
輝煌寶石的路徑所進行的工作,你創建一個從基本實現模型繼承模型。我們(錯誤地,回想起)創建了一個新模型/ aachievements.rb(是的,故意拼寫錯誤,因爲如果我們調用Rails會嘗試加載Achievement它的achievement.rb)文件,但是,而不是重新打開類,我們重新定義了類。因爲我們的重新定義不包括關卡,所以當我們部署到生產環境時,我們遇到了錯誤,這個關卡是一種undef方法。
問題是,爲什麼這個錯誤沒有在開發模式中體現出來呢?兩個寶石和班級都是一樣的。
任何想法?
嗯,這個錯誤發生在生產中,那麼這是否意味着它發生在cached_classes開啓時呢? – shedd 2010-07-25 19:49:23
這就是爲什麼我說在開發中嘗試使用緩存類的原因 - 讓我知道發生了什麼。 – 2010-07-26 15:38:49