【问题标题】:Using Doorkeeper inside Rails Engine在 Rails 引擎中使用 Doorkeeper
【发布时间】:2014-02-02 03:55:14
【问题描述】:

我正在尝试在我的 Rails 应用程序中实现门卫。我的应用程序由 2 个可安装的引擎组成。 Api 和 CoreApi。

  constraints :subdomain => 'api' do
    mount Api::Engine => '/'
  end

  constraints :subdomain => 'core.api' do
    mount CoreApi::Engine => '/'
  end

我想在 CoreApi 引擎中使用 Doorkeeper 来通过 OAuth 保护这些端点。我已经在我的 gemspec 中为该引擎包含了 Doorkeeper gem。我还在初始化程序中设置了符号。

CoreApi::Doorkeeper = ::Doorkeeper

除了我尝试访问门卫的应用程序索引路径外,一切正常。我跑了rake routes,CoreApi 引擎的路径列出了所有的门卫路径。问题是

undefined local variable or method `new_oauth_application_path'

它指的是doorkeeper-1.0.0/app/views/doorkeeper/applications/index.html.erb第11行的url helper

我不明白为什么这没有解决。我假设它是因为门卫是一个可安装在导轨上的引擎,我正试图将它安装在一个可安装在导轨上的引擎内。

【问题讨论】:

  • 你能解释一下你把CoreApi::Doorkeeper = ::Doorkeeper放在哪里吗? ??????

标签: ruby ruby-on-rails-4 doorkeeper


【解决方案1】:

添加到config/initializers/doorkeeper.rb的第一行:

Doorkeeper::ApplicationController.send(:include, CoreApi::Engine.routes.url_helpers)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多