У меня есть импортер файлов excel. Я хочу импортировать записи из листов excel, которые имеют имена столбцов с именами атрибутов.Как динамически создавать и объекты из заданных атрибутов?
class DDImporter
def initialize(path)
@path = path
end
def extract sheet_name
file = Roo::Excelx.new(@path)
file.default_sheet = sheet_name
header = file.row 1
2.upto(file.last_row) do |i|
row = Hash[[header, file.row(i)].transpose]
row.delete "id"
# row => ['name', 'price', 'product_id']
sheet_name.classify.constantize.where(name: row['name']).first_or_create # I need to put attributes hash here
end
end
end