如何覆盖从看门宝石模型(How to override model from the doorkee

2019-10-21 08:47发布

你有什么想法如何重写Doorkeeper::Application所提供的看门gem.Let说,我想添加验证,回调等。 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

按照这个苏答案代码应该声明为初始化。 不过,我想有一个经典的模型,因为有很多我想补充。

Answer 1:

这是我现在在做的,反正仍处于发展阶段,所以我会更新,如果我能找到的问题。

我这样做使用ActiveRecord,也许对Mongoid / Mongomapper需要做一些改变。

幸运的是看门::应用具有所有的配置设置正确的表名,这样你就不必理会有关。

考虑到这一点,你可以只添加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

就大功告成了。

我使用这个定制Doorkeepe ::应用与RailsAdmin(只是为了增加一些关键字,如果有人土地在这里)



文章来源: How to override model from the doorkeeper gem