Я загрузил некоторые начальные данные, используя приведенный ниже код, и все заработало нормально. Затем мне нужно было добавить еще два столбца, и я сделал это, выполнив следующие шаги, но он не прикрепляет начальные данные двух новых столбцов к таблице, что я делаю неправильно?
Шаги:
- Добавьте два столбца с помощью миграции
- Сделайте их attr_accessible в модели
- Замените старый файл CSV новым файлом CSV.
- Измените файл seed.rb, чтобы добавить новые данные.
- Запустить rake db:seed
Сид.рб
require 'csv'
Model.delete_all
CSV.foreach("#{Rails.root}/lib/data/model.csv") do |row|
Model.create!(:model_number => row[0], :areq => row[1], :length => row[2], :width => row[3], :depth => row[4], :material => row[5], :frame => row[6], :edge => row[7], :tubes => row[8], :tube_length => row[9])
end
Схема.rb
create_table "models", :force => true do |t|
t.string "model_number"
t.float "areq"
t.float "length"
t.float "width"
t.float "depth"
t.string "material"
t.string "frame"
t.float "edge"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
t.float "tubes"
t.float "tube_length"
end