2

アプリケーション用の JSON API を作成しています。JSON API に Rocket_pants を使用し、ドアキーパーを使用して OAuth2 サポートを提供したいと考えています。

私の問題は、コントローラーを変更してロケットパンツコントローラーを拡張すると、ドアキーパーメソッドが使用できなくなったように見えることです。

したがって、コントローラーの宣言を に変更するとすぐに、class Api::V1::ApiController < RocketPants::Base次のエラーが発生します。

in `<class:ApiController>': undefined method `doorkeeper_for' for Api::V1::ApiController:Class (NoMethodError)

ロケットパンツはドアキーパーを知る方法がないので、おそらくそれは理にかなっていますが、ドアキーパーを認識させるにはどうすればよいか知りたい.

4

1 に答える 1

6

ドアキーパー0.4.1以降を使用している場合は、コントローラーにドアキーパーフィルターを追加できます。

class MetalController < ActionController::Metal
  include AbstractController::Callbacks # you might want to skip this for rocket_pants based controller
  include ActionController::Head
  include Doorkeeper::Helpers::Filter

  doorkeeper_for :all

  def index
    self.response_body = { :ok => true }.to_json
  end
end

rocket_pantsにはすでに含まれAbstractController::Callbacksているため、スキップできます。コントローラーは次のようになります。

class MetalController < RocketPants::Base
  include ActionController::Head
  include Doorkeeper::Helpers::Filter

  version 1

  doorkeeper_for :all
end

wikiのこのページも役立つかもしれません:https ://github.com/applicake/doorkeeper/wiki/ActionController :: Metal-with-doorkeeper

于 2012-07-08T17:27:42.560 に答える