首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在同一个rails应用程序中同时使用火箭裤和看门人?

如何在同一个rails应用程序中同时使用火箭裤和看门人?
EN

Stack Overflow用户
提问于 2012-07-08 20:21:35
回答 1查看 1.3K关注 0票数 2

我正在为我的应用程序创建一个JSON API。我想使用rocket_pants for the JSON API和doorkeeper来提供OAuth2支持。

我的问题是,一旦我更改了我的控制器来扩展火箭裤控制器,看门人方法就不再可用了。

因此,只要我将控制器的声明更改为class Api::V1::ApiController < RocketPants::Base,我就会得到这个错误:

代码语言:javascript
复制
in `<class:ApiController>': undefined method `doorkeeper_for' for Api::V1::ApiController:Class (NoMethodError)

这可能是有道理的,因为火箭裤没有办法知道门卫,但我想知道我应该做什么,才能让它识别门卫。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-07-09 01:27:43

如果您使用的是0.4.1或更高版本的看门人,您可以将看门人过滤器添加到您的控制器:

代码语言:javascript
复制
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,因此您可以跳过它,因此您的控制器将如下所示:

代码语言:javascript
复制
class MetalController < RocketPants::Base
  include ActionController::Head
  include Doorkeeper::Helpers::Filter

  version 1

  doorkeeper_for :all
end

维基上的这个页面可能也很有用:https://github.com/applicake/doorkeeper/wiki/ActionController::Metal-with-doorkeeper

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11383111

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档