3

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 ヘルパーを参照しています。

これが解決しない理由がわかりません。ドアキーパーはレールに取り付け可能なエンジンであり、レールに取り付け可能なエンジン内に取り付けようとしているためだと思います。

4

1 に答える 1

0

の最初の行に追加config/initializers/doorkeeper.rb:

Doorkeeper::ApplicationController.send(:include, CoreApi::Engine.routes.url_helpers)
于 2014-07-21T18:11:26.920 に答える