1

Что касается this question, я пытаюсь переопределить метод postgresql_version, определенный в ActiveRecord::ConnectionAdapters::PostgreSQLAdapter, который возвращает версию PostgreSQL:обезьяны патч метод ActiveRecord в 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. Помогите?

ответ

6

Попробуйте это:

# 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)

+0

Пробовал это, но я получаю: 'TypeError: суперкласса несоответствие для класса PostgreSQLAdapter' –

+0

Ok, требующий postgresql_adapter, решает его: 'require 'active_record/connection_adapters/postgresql_adapter'' –

 Смежные вопросы

  • Нет связанных вопросов^_^