Ruby on rails 应用程序控制器没有子类?

Ruby on rails 应用程序控制器没有子类?,ruby-on-rails,Ruby On Rails,只是好奇为什么会在rails控制台中发生这种情况: Loading development environment (Rails 4.1.5) 2.1.2 :001 > require 'application_controller' => true 2.1.2 :002 > ApplicationController => ApplicationController 2.1.2 :003 > ApplicationController.subclasses

只是好奇为什么会在rails控制台中发生这种情况:

Loading development environment (Rails 4.1.5)
2.1.2 :001 > require 'application_controller'
 => true 
2.1.2 :002 > ApplicationController
 => ApplicationController 
2.1.2 :003 > ApplicationController.subclasses
 => [] 
2.1.2 :004 > ::ApplicationController.descendants
 => [] 
我有这个控制器

class MyController < ApplicationController
end
class MyController

所以我期待着
ApplicationController.subclass#=>[MyController]
,然而,我得到的是一个空数组:(

好吧,这要归功于Yoshiji先生,但下面是显示子类的方式:

Loading development environment (Rails 4.1.5)
2.1.2 :001 > require 'application_controller'
 => true 
2.1.2 :001 > require 'my_controller'
 => true 
2.1.2 :002 > ApplicationController
 => ApplicationController 
2.1.2 :003 > ApplicationController.subclasses
 => [MyController] 

延迟加载意味着一个对象在运行时被特别调用之前不存在于内存中。我的第二个命令,
require'My_controller
主动引用ApplicationController的一个子类,因此当我们使用
.subclass
方法列出它的子类时,它就会出现。

这个答案和第一条注释可能会引起兴趣你是因为延迟加载。@MrYoshiji:我在生产模式下尝试过同样的方法,rails c-e生产
,它返回相同的..
[]