Как мне получить файл с повторно открытым классом? - PullRequest
1 голос
/ 04 марта 2012

Я новичок в RoR, и у меня возник вопрос по поводу инициализации библиотек. как загрузить класс, который я расширил, из существующей библиотеки классов в rails?

Я бы хотел расширить ActiveRecord :: base, как показано ниже, на основе этой ссылки

# lib/active_record/add_reset_pk_sequence_to_base.rb
module ActiveRecord
  class Base
    def self.reset_pk_sequence
      case ActiveRecord::Base.connection.adapter_name
      when 'SQLite'
        new_max = maximum(primary_key) || 0
        update_seq_sql = "update sqlite_sequence set seq = #{new_max} where name = '#{table_name}';"
        ActiveRecord::Base.connection.execute(update_seq_sql)
      when 'PostgreSQL'
        ActiveRecord::Base.connection.reset_pk_sequence!(table_name)
      else
        raise "Task not implemented for this DB adapter"
      end
    end     
  end
end

Специально, я хотел бы использовать расширенный класс в seed.rb для сброса автоматического приращения таблиц. Как мне загрузить файл с помощью оператора 'require'? Я пробовал несколько способов, к сожалению, у меня не получилось?

любой совет был бы очень признателен?

1 Ответ

2 голосов
/ 04 марта 2012

Поместите файл в папку config / initializers или загрузите его, используя require из этой папки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...