轨道中的未知属性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"
,没有空格。 我猜你的电子表格头是空间的来源。