Рельсы не сохраняют все атрибуты базы данных Roo gem не правильно считывает значения

Я пытаюсь извлечь некоторые данные из книги excel 2010 и хранить в базе данных sqlite3 с Rails и Roo gem . Приложение не сохраняет все атрибуты базы данных, как я хочу.

Вот мой метод импорта в модели получателя

 def self.import(file) spreadsheet = open_spreadsheet(file) spreadsheet.each_with_pagename do |name, sheet| for i in 1..sheet.last_row do beneficiary = Beneficiary.new() beneficiary.name, beneficiary.gender, beneficiary.age, beneficiary.in_school, beneficiary.venue = sheet.excelx_value(i, 2), sheet.excelx_value(i, 3), sheet.excelx_value(i, 4), sheet.excelx_value(i, 5), sheet.excelx_value(1, 1) beneficiary.save! end end end def self.open_spreadsheet(file) case File.extname(file.original_filename) when ".csv" then Roo::CSV.new(file.path) when ".xls" then Roo::Excel.new(file.path) when ".xlsx" then Roo::Excelx.new(file.path) else raise "Unknown file type: #{file.original_filename}" end end 

И вот мой сценарий миграции базы данных:

 class CreateBeneficiaries < ActiveRecord::Migration def change create_table :beneficiaries do |t| t.string :name #, null: false t.integer :age #, null: false t.string :gender #, null: false t.string :in_school #, null: false t.string :venue t.string :learning_center t.string :facilitator t.timestamps null: false end end end 

Когда я включил not null ограничения, у меня появились ошибки, но когда я их удалил, некоторые атрибуты не сохранились. Поэтому я думаю, что проблема связана с моим методом import , но я не знаю, почему.

Любая помощь будет высоко ценится.

Давайте будем гением компьютера.