Я использую гем parseexcel для чтения файла Excel ... все работает нормально, пока я печатаю материал на консоль.я создал грабли для вставки данных в базу данных .. поэтому у меня есть куча операторов create.вот так
description = row[i+1].to_s
Coa.create(:is_group => true, :ag_gl_code => "AGL_001", :description => "#{description}")
моя проблема с переменной 'description'.это строковое поле.если я печатаю описание на консоль, как это, он работает и печатает значение
puts "{#description}" #prints the value 'Estate'
, но при создании он выдает ошибку sql
SQLite3::SQLException: unrecognized token: "'E":
, но запрос генерируется нормально.строка находится в запросе с одинарной кавычкой, и если заменить переменную жестко закодированной строкой, она работает просто отлично.Я перепробовал много комбинаций, например, используя to_s и т. д., но не могу заставить его работать.
любая помощь будет оценена.спасибо
вот моя схема
create_table "coas", :force => true do |t|
t.string "ag_gl_code"
t.string "description"
t.boolean "is_group"
t.datetime "created_at"
t.datetime "updated_at"
end
вот журнал терминала, я записал значение 'description', обратите внимание, что он печатает значение, и никаких дополнительных кавычек.
Estate
rake aborted!
SQLite3::SQLException: unrecognized token: "'E": INSERT INTO "coas" ("created_at", "is_group" , "description", "ag_gl_code", "updated_at") VALUES ('2011-07-14 14:48:56.616150', 't', 'Estate', 'AGL_001', '2011-07-14 14:48:56.616150')