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

前端之家收集整理的这篇文章主要介绍了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提供了更好的解释发生了什么.

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

猜你在找的Ruby相关文章