bsc*_*fer 2 ruby ruby-on-rails
这是设置:
# app_controller.rb
class AppController; end
# org/app_controller.rb
module Org
class AppController < ::AppController; end
end
# org/admin/app_controller.rb
module Org
class Admin::AppController < AppController; end
end
Run Code Online (Sandbox Code Playgroud)
为什么Org::Admin::AppController继承AppController而不Org::AppController考虑类定义是否为命名空间?
这是因为在您打开时Org::Admin::AppController,Org::AppController一定不能定义,但::AppController必须已经定义.也许您的文件不按照您认为的顺序"必需"?您可以通过require <file containing base class>在创建派生类的文件中添加a来解决此问题.
(次要样式指南:不要::用于引用要为定义而打开的类和模块.)
编辑原因:我进行了一些测试,我一定是弄错了.
| 归档时间: |
|
| 查看次数: |
78 次 |
| 最近记录: |