1

Doorkeeper gem によって提供されるオーバーライド方法について何か考えはありますか?Doorkeeper::Application検証、コールバックなどを追加したいとしましょう。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 に答える