1

您是否知道如何覆盖Doorkeeper::ApplicationDoorkeeper gem 提供的覆盖。假设我想添加验证、回调等。Db 表名为auth_applications.

我创建了一个名为 application.rb 的模型,其中包含以下内容,但未触发我的 before_create 调用。最好的方法是什么?

module Doorkeeper
  class Application < ActiveRecord::Base
    include ApplicationMixin

    require 'identicon'
    before_create :generate_identicon

    def generate_identicon
      self.identicon = Identicon.data_url_for name, 128, [255, 255, 255]
    end

  end
end

根据此 SO 答案代码应声明为初始化程序。但是我想要一个经典模型,因为我想添加很多东西。

4

1 回答 1

3

这就是我现在正在做的事情,无论如何仍在开发中,所以如果我发现问题,我会更新。

我正在使用 ActiveRecord 执行此操作,也许对于 Mongoid/Mongomapper 需要进行一些更改。

幸运的是Doorkeeper::Application具有设置正确表名的所有配置,因此您不必为此烦恼。

考虑到这一点,您可以app/models/application.rb像这样添加:

class Application < Doorkeeper::Application
  require 'identicon'
  before_create :generate_identicon

  def generate_identicon
    self.identicon = Identicon.data_url_for name, 128, [255, 255, 255]
  end
end

你完成了。

我正在使用它来使用 RailsAdmin 自定义 Doorkeepe::Application (如果有人登陆这里,只是添加一些关键字)

于 2014-12-04T12:00:52.470 回答