# 禁止Class的callback的函数 # https://stackoverflow.com/a/6538007 def skip_all_callbacks(klass) [:validation, :save, :create, :commit].each do |name| klass.send("_#{name}_callbacks").each do |_callback| # HACK - the oracle_enhanced_adapter write LOBs through an after_save callback (:enhanced_write_lobs) if (_callback.filter != :enhanced_write_lobs) klass.skip_callback(name, _callback.kind, _callback.filter) end end end end
seed_files = Dir[Rails.root.join('lib', 'seeds', '*.csv')] seed_files.each do |path| model = "#{File.basename(path, '.*').camelize}".constantize
# 一些field可能并没有声明为attr_accessible, 因此在seeds中需要临时声明为attr_accessible, 否则对应的字段不会被更新,并且不会报错。 model.class_eval do attr_accessible *column_names end