ruby-on-rails - 应用程序 Controller 没有子类吗?

标签 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
 => [] 
2.1.2 :004 > ::ApplicationController.descendants
 => [] 

我有这个 Controller

class MyController < ApplicationController
end

所以我期待 ApplicationController.subclasses #=> [MyController],但是,我得到一个空数组:(

最佳答案

嗯,功劳归于 MrYoshiji,但这是显示子类的方式。:

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 方法列出其子类时,它就会出现。

关于ruby-on-rails - 应用程序 Controller 没有子类吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26061453/

相关文章:

javascript - 如何在 highcharts 中显示 for 循环的结果

ruby-on-rails - 通过正则表达式使内存缓存过期

ruby-on-rails - Rails 在哪里存储夏令时的开始和结束日期?

ruby-on-rails - 如何模拟重定向到外部 API 的 Controller 的响应?

ruby-on-rails - 在 Ruby on Rails 中,如何处理必须保存在数据库中但不是正确模型的数据?

ruby-on-rails - 防止自动机器人向 ruby​​ on rails 应用程序提交表单?

mysql - 仅当记录存在于 Rails 中时,如何删除它?

ruby-on-rails - 通过银行转账处理 Rails 付款

javascript - $(...).validate 不是函数

ruby-on-rails - ActiveRecord has_and_belongs_to_many : find models with all given elements