我可以使用模块#prepend代替alias_method_chain来修补这个问题吗?



我正在修补设计令牌验证gem中的一个问题。

我有它与alias_method_chain工作,但我想知道我是否可以在这种情况下使用module#prepend ?

注意:我们使用的是ruby 2.2.x

现有:

DeviseTokenAuth::Concerns::User.module_eval do
  def token_validation_response_with_customer_info
    json = token_validation_response_without_customer_info
    # add some customer stuff based on has_role? check
    json
  end
  alias_method_chain :token_validation_response, :customer_info
end

你可以试试

DeviseTokenAuth::Concerns::User.prepend(
  Module.new do
    def token_validation_response
      json = super
      # add some customer stuff based on has_role? check
      json
    end
  end
)

相关内容

  • 没有找到相关文章

最新更新