Rails负载控制器,型号等在哪里?

时间:2013-02-03 08:04:31

标签: ruby-on-rails ruby-on-rails-3

控制器,模型等从active_support / dependencies.rb加载。但是通过控制器和模型的代码在哪里,并请求dependencies.rb加载它们中的每一个?

1 个答案:

答案 0 :(得分:1)

如果将以下代码放在控制器文件中(最好是在类之外):

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

在生产模式下启动应用程序,您可以看到初始化调用的完整堆栈跟踪,导致控制器急切加载。在开发过程中,控制器并不急于加载。

最关键的一行检查Rails配置并决定是否急于加载所有文件。

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

其中称为栏杆eager_load!方法