rails 3 ruby ​​1.9.2 CSV уже инициализирован константой .. предупреждение

Я хочу добавить в одну из своих моделей возможность чтения/записи данных в файл CSV. В версиях ruby ​​до 1.9 это можно было сделать с помощью fastCSV, но теперь это часть ruby. У меня есть следующая установка:

#in my_model.rb
require 'CSV'

class MyModel < ActiveRecord::Base
   ... stuff ...
   def self.dump_to_csv(file=File.join(Rails.root, 'tmp', 'dump', 'my_model.csv'))
      CSV.open(file, "w") do |csv|
         keys = new.attributes.keys
         csv << keys
         all.each do |m|
            csv << m.attributes.values_at(*keys)
         end
      end
    end
end

Это отлично работает, однако, когда я запускаю тесты, я получаю множество предупреждений в форме

/Users/x/.rvm/rubies/ruby-1.9.2-rc2/lib/ruby/1.9.1/csv.rb:201: warning: already initialized constant VERSION
/Users/x/.rvm/rubies/ruby-1.9.2-rc2/lib/ruby/1.9.1/csv.rb:863: warning: already initialized constant FieldInfo
/Users/x/.rvm/rubies/ruby-1.9.2-rc2/lib/ruby/1.9.1/csv.rb:866: warning: already initialized constant DateMatcher
... 

Как убрать эти предупреждения?


person Tom Close    schedule 07.05.2011    source источник


Ответы (1)


Я столкнулся с той же проблемой, после некоторого копания я понял, что мне требуется «CSV», где я должен был требовать «csv», все должно быть в нижнем регистре.

person Claude    schedule 25.05.2011
comment
Святой WTF Бэтмен. Мои рельсы WTFs/минута только что пошли вверх. Спасибо за ответ. У меня недостаточно HP, чтобы решить эту проблему сегодня. - person 23inhouse; 30.09.2013