2012-01-05 33 views
2

我在一個gem中定義了一大堆模型,我把它捆綁到一個Rails項目中。我希望能夠使用app/models中的文件保存代碼來模擬這些模型類,並像往常一樣在每個請求上重新加載app/models/*。應用程序中的Monkeypatch gem-based模型,確保在dev中重新加載,而不會減慢應用程序的爬行速度?

我已經解決了上述問題。我現在遇到的問題是,解決方案使我的應用程序SLOW - 屏幕花費30-40秒才能在開發模式下加載,而之前的一兩次。這是我現在在初始化程序中的:

 
model_init = lambda{ 
    path = File.expand_path(File.dirname(__FILE__) + "../../../app/models") 

    Dir.glob("#{path}/*.rb").each do |path| 
    require path 
    end 
} 

ActionDispatch::Callbacks.to_prepare(&model_init) 

任何人都可以提供有關如何加快速度的信息嗎?我在Rails 3.1.3上,但如果3.2.0-rc1中的active_reload可能解決這個問題,我很樂意升級。預先感謝任何幫助!

回答

1

Rails 3.1中存在一個已知的錯誤 - 每個資產都會根據請求重新編譯。所以如果你的應用有很多資產,你會在開發模式下得到緩慢的反應。這固定在3.2。

相關問題