我随机遇到错误,我的框架由于名称空间错误而抱怨缺少类。
由于某些原因,Rails将尝试从不同的gem中查找名为namespace的类名:
假设我的根命名空间中有::ProfilesController
,我有时会遇到错误
未初始化的常量Mongoid :: Token :: Collisions :: ProfilesController
其中Mongoid::Token::Collisions
(示例)是模型中使用的模块from a different gem。我有几个配置文件控制器声明如下
class ::ProfilesController < Devise::RegistrationsController
class Registrations::ProfilesController < Devise::RegistrationsController
class Foo::ProfilesController < FooController
class Bar::ProfilesController < BarController
class Baz::Foo::ProfilesController < BazController
我不明白如何使用ProfileController
命名空间来解析Mongoid::Token::Collisions
,因为我从未在我的代码ProfilesController
中写入,因为没有任何命名空间或{{1}前缀
我实际上有不同组件的类似错误。通常,重新启动服务器时问题会消失。我想知道什么可能导致这种行为,这种行为变得更加频繁。我不确定提供代码会有什么帮助,堆栈跟踪甚至不会从我的应用程序代码开始。知道这可能来自何处?
::