4

モデルの1つにCSVファイルのデータを読み書きする機能を追加したいと思います。1.9より前のバージョンのrubyでは、これはfasterCSVで実行されていましたが、現在は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
... 

これらの警告を削除するにはどうすればよいですか?

4

1 に答える 1

8

同じ問題が発生しました。少し掘り下げた後、「csv」が必要なはずの「CSV」が必要であることに気付きました。すべて小文字にする必要があります。

于 2011-05-25T23:06:58.670 に答える