如何要求重新打开课程的文件?

时间:2012-03-04 04:19:49

标签: ruby-on-rails module require

我对RoR很新,我有一个关于库初始化的问题。 如何加载从rails中现有类库扩展的类?

我想根据this link

扩展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 个答案:

答案 0 :(得分:2)

将文件放在config / initializers文件夹中,或使用该文件夹中的require加载它。