1

关于这个问题,我试图覆盖返回 PostgreSQL 版本的postgresql_version方法ActiveRecord::ConnectionAdapters::PostgreSQLAdapter

module ActiveRecord
  module ConnectionAdapters
    class PostgreSQLAdapter < AbstractAdapter

      protected
        # Returns the version of the connected PostgreSQL server.
        def postgresql_version
          80200
        end
    end
  end
end

但是没有应用补丁。我在 config/initializer 中尝试过,并在 /lib 文件中要求它。帮助?

4

1 回答 1

8

试试这个:

# ensure ActiveRecord's version has been required already
require 'active_record/connection_adapters/postgresql_adapter'

class ActiveRecord::ConnectionAdapters::PostgreSQLAdapter 
protected
  def postgresql_version
    80200
  end
end

您的解决方案失败了,因为您无法在猴子修补时添加继承部分(即PostgreSQLAdapter < AbstractAdapter

于 2013-02-23T22:21:33.050 回答