SORU
10 Aralık 2010, Cuma


Ruby on Rails - CSV dosyasından Veri Alma

Varolan bir veritabanı tabloya bir CSV dosyasından veri almak istiyorum. CSV dosyası olarak kaydedin, sadece verileri alıp mevcut tabloya koymak istemiyorum. Ruby 1.9.2 ve Raylar 3 kullanıyorum.

Burası benim masam

create_table "mouldings", :force => true do |t|
  t.string   "suppliers_code"
  t.datetime "created_at"
  t.datetime "updated_at"
  t.string   "name"
  t.integer  "supplier_id"
  t.decimal  "length",         :precision => 3, :scale => 2
  t.decimal  "cost",           :precision => 4, :scale => 2
  t.integer  "width"
  t.integer  "depth"
end

Bana bunu yapmak için en iyi yolu göstermek için bazı kod, şükredin.

CEVAP
2 Mayıs 2012, ÇARŞAMBA


Eşit derecede iyi çalışıyor yfeldblum cevabı, basit sürüm:

require 'csv'    

CSV.foreach(filename, :headers => true) do |row|
  Moulding.create!(row.to_hash)
end

With_indifferent_access veya symbolize_keys, ve bir dize için dosyayı önce okumak gerek gerek yok.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • BDGcustoms

    BDGcustoms

    24 NİSAN 2011
  • MatheusDosGames

    MatheusDosGa

    28 Aralık 2011
  • MrDevin521

    MrDevin521

    18 Temmuz 2010