Ruby on rails 4 未初始化的常量Api::Doorkeeper

Ruby on rails 4 未初始化的常量Api::Doorkeeper,ruby-on-rails-4,rails-engines,doorkeeper,Ruby On Rails 4,Rails Engines,Doorkeeper,我的Rails应用程序中有API引擎,我已经在主应用程序路径下安装了该引擎 Rails.application.routes.draw do mount Api::Engine => "/api" end 我想在我的路线中使用use_doorkeeper函数添加门卫路线,如下所示 Api::Engine.routes.draw do use_doorkeeper :scope => "api/oauth" end 这不起作用,因为它试图在api/doorkeeper/co

我的Rails应用程序中有API引擎,我已经在主应用程序路径下安装了该引擎

Rails.application.routes.draw do
  mount Api::Engine => "/api"
end
我想在我的路线中使用use_doorkeeper函数添加门卫路线,如下所示

Api::Engine.routes.draw do
  use_doorkeeper :scope => "api/oauth"
end
这不起作用,因为它试图在api/doorkeeper/controller\u name而不是doorkeeper/controller\u name下查找控制器

作为一种解决方法,我在主应用程序routes.rb中添加了门卫路线,范围如下

Rails.application.routes.draw do
  mount Api::Engine => "/api"
  use_doorkeeper :scope => "api/oauth"
end

但是我想知道是否有解决方案,这样我仍然可以将路由添加到api/config/routes.rb,并参考正确的控制器路径

我的同事建议了这个解决方案,它对我有效:)

MyEngine::Engine.routes.draw do
  old_scope = @scope[:module]
  @scope[:module] = nil
  use_doorkeeper
  @scope[:module] = old_scope
end