2012-03-04 23 views
1

我對RoR相當陌生,並且遇到了關於庫初始化的問題。 我該如何加載一個從軌道中的現有類庫擴展而來的類?我如何要求重新開放課程的文件?

我想延長的ActiveRecord :: Base的基礎上this link

# 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

我對你正在嘗試做一些毫無章法,但你的第一個步驟可能是建立一個新文件在config/initializers文件夾中,並且需要文件 – 2012-03-04 04:23:48

+0

@JasdeepSingh感謝您的評論。無論如何,將文件放入建議的文件夾後,它就像一個魅力! – 2012-03-04 04:35:59

+0

嗯,我想我可以添加,作爲答案然後.. :) – 2012-03-04 05:30:29

回答

2

放入配置/初始化文件夾中的文件或使用該文件夾需要加載..

+0

這似乎不正確的使用初始化,因爲它只是猴子修補活動記錄。我認爲初始化器是用來設置事物狀態的,例如配置。 – 2012-03-04 11:59:37