【问题标题】:Rails Overriding Doorkeeper classRails 覆盖 Doorkeeper 类
【发布时间】:2016-10-20 20:41:15
【问题描述】:

如何覆盖 Doorkeeper gem 的 AccessToken 类?

https://github.com/doorkeeper-gem/doorkeeper/blob/master/lib/doorkeeper/orm/active_record/access_token.rb

我已经尝试在 models/access_token.rb 中创建类

module Doorkeeper
  class AccessToken < ActiveRecord::Base
    belongs_to :resource_owner, class_name: 'OauthResourceOwner'

    include AccessTokenMixin

    def as_json(*)
      super.except!(:resource_owner_id).merge!(
        owner: {
          id: resource_owner&.owner_id,
          type: resource_owner&.owner_type&.tableize
        }
      )
    end
  end
end

【问题讨论】:

    标签: ruby-on-rails ruby class overriding doorkeeper


    【解决方案1】:

    我遇到了同样的问题。 并在初始化器中添加关联

    Doorkeeper::AccessToken.belongs_to :resource_owner, class_name: 'OauthResourceOwner'
    

    【讨论】:

    【解决方案2】:

    在 Ruby 中,类是“开放的”,这意味着您没有覆盖 AccessToken,而是向 AccessToken 添加方法。

    【讨论】:

    • 我知道,但我什至不能添加方法。如果我打电话给 Doorkeeper::AccessToken.last.resource_owner 我缺少方法
    • 有什么想法吗?
    猜你喜欢
    • 1970-01-01
    • 2013-07-12
    • 1970-01-01
    • 2010-09-10
    • 2010-12-22
    • 1970-01-01
    • 1970-01-01
    • 2023-03-24
    相关资源
    最近更新 更多