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 に答える