轨道中的未知属性5

嘿,我想从我的工作表导入一个Excel文件到数据库,但我不知道有什么不工作得到未知的属性:

我的表是这样的:

name title jalebi samosa s1 s2 s3 1 4 7 7 7 7 7 2 5 6 6 6 6 6 3 6 5 5 5 5 5 4 7 4 4 4 4 4 

我的移民是:

  class CreateTest3s < ActiveRecord::Migration[5.1] def change create_table :test3s do |t| t.string :name t.string :title t.string :jalebi t.string :samosa t.string :s1 t.string :s2 t.string :s3 t.timestamps end end end 

而我在模型中的导入代码是:

  def self.import1(file) spreadsheet = Roo::Spreadsheet.open(file.path) header = spreadsheet.row(1) (2..spreadsheet.last_row).each do |i| row = Hash[[header, spreadsheet.row(i)].transpose] puts row.to_hash product = find_by(id: row["id"]) || new product.attributes = row.to_hash product.save! end end 

每当我试图运行这个我得到这个错误:

  unknown attribute 'samosa ' for Test3. 

而hash的值就是这样的:

  {"name"=>1, "title"=>4, "jalebi"=>7, "samosa "=>9, "s1"=>7, "s2"=>7, "s3"=>7} 

它看起来像你试图设置的属性是"samosa "与尾随空间。 该属性应该只是"samosa" ,没有空格。 我猜你的电子表格头是空间的来源。