有时会得到未初始化的常量 Devise::CustomDevise

Sometimes getting uninitialized constant Devise::CustomDevise

我已经自定义了 deviseregistrations_controller.rbconfirmations_controller。这些控制器位于 custom_devise 文件夹下。

有时我的注册和确认工作正常,但有时会显示 uninitialized constant Devise::CustomDevise 路由错误。

一个奇怪的修复是每当我编辑 routes.rb 时,错误就会消失(实际上没有在 routes.rb 中添加任何内容)。

我的 routes.rb 设计:

devise_scope :user do
  scope :module => "custom_devise" do
    match 'company_user/complete_profile' => 'confirmations#complete_profile', via: :get
  end
end

devise_for :users, path_names: {sign_in: "login", sign_out: "logout"},
           :controllers => { :registrations => "devise/custom_devise/registrations",
                             :confirmations => "devise/custom_devise/confirmations"
                           }

我正在使用以下设计模块:

devise :database_authenticatable, :registerable, :confirmable,
     :recoverable, :rememberable, :trackable, :validatable

P.S:我已经检查了 SO 中所有类似的答案,但 none 对我很有帮助。所以请在重复这个问题之前发表评论。:)

将路线从 devise/custom_devise/registrations 更改为 custom_devise/registrations 并且 confirmations 也同样如此。