0
Ниже представлен импортер CSV. Он работает отлично, но я бы сделал его более надежным, определяя строку динамически.Динамическое определение атрибута CSV
Как заменить атрибут «имя» на атрибут, который я определил ранее перед выполнением CSV?
For example:- name: row[1] --> name: row[attribute]
В приведенном выше примере подсказках об ошибке не указаны «нет неявного преобразования строки в целое число», которое, очевидно, верно.
Ниже приведен код.
import_attribute = import_dimension.import_attributes.first
attribute = import_attribute.name
CSV.foreach(Rails.root.join('tmp','uploads', csv_path), col_sep: import_source.csv_delimiter,
row_sep: :auto, skip_blanks: true, headers: false) do |row|
target.create company: self.import_source.company, code: row[0], name: row[1]
end
Вы можете создать столбец CSV для атрибутов списка конфигурации в виде хэша в приложении. Но он будет работать только в том случае, если: у вас есть заголовок в CSV, который вы импортируете? и Являются ли имена заголовков уникальными и не будут изменяться с CSV на CSV? – Surya
Например: заголовок в одном CSV: «Код компании, название компании» и заголовок в другом CSV: «Код, имя» не будет работать. – Surya