每当我收到警告时:
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
rails 向我要什么?有什么问题吗?
与另一个 Controller 的情况相同
class Agency::ClientsController < Agency::ApplicationController
...
end
而且没有警告,没有错误...
最佳答案
我意识到这个问题将近两年了,但是我最近在another stackoverflow帖子中偶然发现了这个问题,并希望分享一些见解。
基本上,如果您的命名空间Agency
恰好是class
而不是module
,则会收到该警告。在我上面粘贴的stackoverflow帖子中,他们有一个class
的模型(Admin
),它们的 namespace 也是Admin
。
This对正在发生的事情提供了更好的解释。
因此,请检查您的代码是否未在某处定义Agency
类。祝你好运。