-1

我正在尝试覆盖另一个 gem 的方法。代码看起来像这样:

module DatabaseCleaner
  class Base
    def orm_strategy(strategy)
      # ...
    end
  end
end

在我的宝石中:

require 'database_cleaner/base'

module DatabaseCleaner
  class Base
    def orm_strategy(strategy)
      # New code
    end
  end
end

但是,它的原始版本仍在使用中。我究竟做错了什么?

4

1 回答 1

2

您正在尝试覆盖该类的实例方法Foo::Bar。您必须重新定义类的方法:

module Foo
  class Bar
    def self.test  # self == Bar
      # New code
    end
  end
end
于 2012-04-16T18:20:46.473 回答