ruby-on-rails – Rails3:warning:toplevel constant ApplicationController引用

每次我得到一个警告:
app/controllers/agency/agencies_controller.rb:1: warning: toplevel constant ApplicationController referenced by Agency::ApplicationController

我的agency_controller.rb:

class Agency::AgenciesController < Agency::ApplicationController

  def index
    ...
  end 

  ...
end

和Agency :: ApplicationController:

class Agency::ApplicationController < ApplicationController
  layout 'agency'

  helper_method :current_agency
  private

  def current_agency
    @current_agency ||= current_user.agency 
  end

end

铁轨从我想要什么?有什么麻烦?

与另一个控制器相同的情况

class Agency::ClientsController < Agency::ApplicationController
  ...
end

没有警告,没有错误

解决方法

我意识到这个问题已经差不多两年了,但是最近我通过 another stackoverflow发布了一个这个问题,并希望分享一些见解.

基本上,如果你的命名空间代理恰好是一个类,而不是一个模块,你会得到这个警告.在我上面粘贴的stackoverflow文章中,他们有一个模型(类)的Admin,他们的命名空间也是Admin.

This提供了更好的解释发生了什么.

所以检查你的代码是否没有在某个地方定义一个代理类.祝你好运.

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...