2013-02-03 52 views

回答

1

如果你把下面的代碼在控制器文件(類之外,最好):

Rails.logger.info("*"*80) 
Rails.logger.info(caller) 
Rails.logger.info("*"*80) 

,並開始你的應用程序在生產模式下,你可以看到初始化調用導致的一個完整的堆棧跟蹤在控制器中急切加載。在開發中,控制器不是急於加載。

最關鍵的一行檢查Rails配置並決定是否加載所有文件。

railties-3.2.11/lib/rails/application/finisher.rb:53

它調用railties eager_load!方法