0
控制器,模型等從active_support/dependencies.rb加載。但是,通過控制器和模型並且要求dependencies.rb加載其中每一個的代碼在哪裏?Rails負載控制器,模型等在哪裏?
控制器,模型等從active_support/dependencies.rb加載。但是,通過控制器和模型並且要求dependencies.rb加載其中每一個的代碼在哪裏?Rails負載控制器,模型等在哪裏?
如果你把下面的代碼在控制器文件(類之外,最好):
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!方法